Underdoggit
@Underdoggit

Можно ли получить по шапке используя !important в проекте?

Всем привет, пришел на руки проект на поддержку сайта, посажен на wp. Очень много стилей посажены под !important, видимо предыдущий веб разработчик не особо знаком с каскадом. Или это нормальное явление для wp и не стоит гнать на него волну?
  • Вопрос задан
  • 172 просмотра
Решения вопроса 1
Vlad_IT
@Vlad_IT Куратор тега CSS
Front-end разработчик
Вообще, я не помню случая в своей практике, чтобы использование !important было единственным возможным решением, всегда находятся более правильные. Единственное, это userstyles, когда нужно на чужом сайте поменять стили, но в разработке это не используется.
Что касается bootstrap, то давайте взглянем на код из его исходников
.visible{
visibility:visible!important
}
.invisible{
visibility:hidden!important
}

тут используется important по той простой причине, что используя в своем элементе класс invisible, мы хотим гарантировать, что элемент будет невидимым. Предположим, что там нет important, и возьмем такой пример

<div class="vova-block invisible">Тут текст, его надо спрятать, поэтому я добавил в класс invisible</div>

.vova-block {
    visibility: visible; 
}


при условии, что мой css файл подключается ниже, чем bootstrap, или что еще вероятнее, имеет выше приоритет

div.vova-block {
    visibility: visible;
}

добавленный класс invisible не дает никакого эффекта, блок будет видимым. Поэтому bootstrap и добавили в своих таких селекторах important, чтобы я случайно его не переопределил. Но это порождает куча important'ов в тех случаях, когда я хочу неслучайно переопределить - но это плохо.
Всегда можно найти способ не использовать important. Лучше скопировать код с селектора boostrap, модифицировать его под себя, чем городить important.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
BenderIsGreat34
@BenderIsGreat34
junior front-end
Смотря какой проект, но конечно же лучше избегать этого. Но если глянуть на Фреймворк бутстрап, то там очень часто можно встретить !important.
Ответ написан
Комментировать
sfi0zy
@sfi0zy Куратор тега CSS
Creative frontend developer
Такие вопросы должны решаться на уровне методологий. Начиная проект мы решаем, какую использовать, и потом ее придерживаемся. Например в rscss !important используется в классах-хелперах, которые изначально задуманы, чтобы перебивать стили. Их обычно немного, они вписываются в общую картину и очень удобны при быстром прототипировании. А в какой-нибудь другой методологии !important могут вообще не использовать, приводя вполне разумные аргументы почему принято такое решение. Так что тут на вкус и цвет фломастеры разные, а запутать код можно и без !important.
Ответ написан
Комментировать
lukoie
@lukoie
Это смотря в каких случаях и для чего там это делается.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы