Привет! Контекст вопроса:
- У меня есть блок .hide { display: none }.
- Я его миксую, например, когда необходимо, чтобы присутствующая на странице кнопка (.btn) не отображалась до появления какого-либо события. После чего через js просто указывается display: block 3.В стилях у .btn задан display: inline-block.
- В сборке стили блока .hide оказались выше стилей .btn и поэтому миксование данного блока (.hide) не сказывается на отображении кнопки.
Можно ли как-то задать, чтобы определенные блоки включались в сборку всегда последними? p.s. сейчас просто задаю через attrs: { style: 'display-none' }.
На самом деле видимость — это именно состояние блока и должно выражаться модификатором, а не миксом с другим блоком. Иначе рано или поздно начнутся конфликты: блок, к которому примешан
hide
будет задаватьdisplay
с использованием вложенных селекторов (вес окажется выше), восстанавливатьdisplay
нужно будет в какое-то хитрое значение (скажем, вflex
) или на одном узле будет сразу несколько блоков.Если решать задачу именно в исходной формулировке и при этом если речь про использование сборки с
deps.js
(bem-tools/ENB), то вhide.deps.js
можно перечислить остальные блоки в секции mustDeps.Но если уж решать задачу неправильно, то самый простой способ — использовать
important!
;)Спасибо))) Да, сборка через ENB, забыл указать. Всё так просто)