2016-08-05 5 views
1

У меня есть класс, как это:Как я могу исключить имя класса из свойств родителя?

li { 
    color: #ccc; 
    font-size: 12px; 
    position: fixed; 

    /* and some other properties */ 
} 

Теперь у меня есть этот элемент, который я хочу, чтобы исключить эти свойства выше на него:

<li class="has_not_any_property"></li> 

делает это возможным?

ответ

1

Просто используйте :not property.A Отрицание псевдо класс

li :not(.has_not_any_property) { 
     color: #ccc; 
     font-size: 12px; 
     position: fixed; 
    } 

Для более старых браузеров, которые не поддерживают CSS3 вы можете просто дать щёток или наследуемые значения с помощью unset

Из документации

https://developer.mozilla.org/en-US/docs/Web/CSS/unset

Это ключевое слово сбрасывает свойство наследуемое значение, если оно наследует от его родителя или его начального значения, если нет. Другими словами, он ведет себя как ключевое слово inherit в первом случае и как начальное ключевое слово во втором случае.

li.has_not_any_property { 
    color:unset; 
    position: unset 
    font-size: unset; 
} 
+0

Да это правильно .. но на самом деле большинство пользователей моего веб-сайта с помощью IE8 ': -) '.. И как вы знаете, это не поддерживает CSS3 .. спасибо в любом случае .. upvote .. для вас, но я ищу другое решение. –

1

Используйте CSS not псевдо-класс:

li:not(.has_not_any_property) { 
    color: #ccc; 
    font-size: 12px; 
    position: fixed; 
} 

Документация здесь: https://developer.mozilla.org/en-US/docs/Web/CSS/:not

+0

Да, это правильно .. но на самом деле большинство пользователей моего сайта используют IE8 ':-)' .. И, как вы знаете, это не поддерживает CSS3 .. спасибо в любом случае .. upvote .. для вас, но я ищет другое решение. –

+0

@MartinAJ Ах, это что-то меняет. Возможно, после вашего блока CSS для элемента 'li' выпишите блок CSS специально для класса' .has_not_any_property', который восстанавливает значения по умолчанию для цвета, размера шрифта и позиции. Другой вариант - добавить другой класс CSS для всех элементов 'li', которые не должны быть исключены, и изменить существующий CSS только для этого класса. –

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