2016-07-29 2 views
0

Мой меньше файла настроен так, что легенда, являющаяся дочерним элементом набора полей, имеет определенные стили. Я создаю legend.default, который также является дочерним элементом fieldset, но который будет иметь свой стиль по умолчанию. Я не хочу перечислять каждое свойство и писать в нем по умолчанию. Есть ли способ сделать this.legend.dafault не имеющими унаследованных стилей или чего-то еще?Возврат стиля по умолчанию к элементу легенды

ответ

3

Невозможно фактически вернуть свойство по умолчанию, но вы можете использовать :not для определения стилей только для легенд, отличных от умолчаний.

fieldset legend:not(.default) { 
    /* certain styles */ 
} 

См. :not(X) on CSS Tricks. Обратите внимание, что это хорошо работает во всех основных браузерах, если вы используете простой селектор, как в примере. Сложные селекторы еще не могут использоваться в качестве аргумента для :not(), поскольку ни один из основных браузеров не поддерживает его на момент написания.

Лично я бы предпочел определить стиль для определенного класса и добавить этот класс к легендам, которые вы do хотите стиль, вместо использования этого отрицательного решения, но я оставлю это решение для вас ,

+0

': not()' почти не поддерживает браузер в настоящее время, см. Http://caniuse.com/#feat=css-not-sel-list –

+1

@RobertC Вот о расширенных аргументах (уровень 4). Мой пример - с простым селектором (уровень 3), для которого [поддержка довольно хороша] (https://developer.mozilla.org/nl/docs/Web/CSS/:not). То есть: все основные браузеры, включая IE9 +. Пожалуйста, уменьшите только, если вы знаете, о чем говорите. ^.^ – GolezTrol

+1

Эй, я благодарю вас за разъяснение! Я работал в предположении, что ': not()' имел плохую поддержку на основе других ответов SO, охватывающих тему. Зная, что он имеет лучшие варианты поддержки, как бы я подошел к нескольким проектам! –

Смежные вопросы