По какой-то причине мое приложение Angular не использует стили, которые я определяю в файле .less моего компонента. Он просто игнорирует это.
Поскольку я очень новичок в CSS, я никак не могу отладить его.
Мой макет состоит из множества определенных стилей, импортируемых другими файлами меньшего размера. Я использую попытки изменить стиль mapboxgl.
Вот так выглядит текущая карта:
И это определяется в HTML следующим образом:
<div eds-tile class="column xl-3">
<eds-tile-title>Location</eds-tile-title>
<eds-tile-actions>
<div class="action">
<eds-icon icon="maximize">
</eds-icon>
</div>
</eds-tile-actions>
<div class="map" id="map"></div>
</div>
На этот компонент меньше у меня:
@import "~@eds/vanilla/variables/light";
@import (reference) "~@eds/vanilla/font/styles";
@import (reference, multiple) "~@eds/vanilla/variables/global";
@import "./map/map";
И на ./map/map.less у меня много стилизации темы:
https://pastebin.com/b8CpakH9
Моя проблема в том, что есть некоторые классы, которые действительно используются Angular, как этот:
.map {
min-height: 200px;
width: 100%;
height: 100%;
a {
color: @text;
}
}
Но другие не такие, как это (вы можете видеть на изображении ниже, что нет ничего связанного с этим определением при проверке стилей браузера):
.mapboxgl-ctrl-bottom-left {
display: none !important;
}
Что происходит с моим делом?
Я следую другому примеру, что он работает нормально. В файле component.less он использует:
@import (reference) "~@eds/vanilla/font/styles";
.dark {
@import "~@eds/vanilla/variables/dark";
@import (multiple) "./map/map";
}
.light {
@import "~@eds/vanilla/variables/light";
@import (multiple) "./map/map";
}
И файл map.less такой же, за исключением значения min-height.
Пример:
Вы можете ясно видеть, что в этом примере он использует ".light .map {}" для установки стиля. Это отличается от моего случая, который почему-то конвертируется в «.map [_ng-content-c5] {}». Я понятия не имею, что это значит.
Извините, что так расплывчато в описании проблемы. Просто потому, что у меня недостаточно опыта, чтобы даже назвать это.