2011-01-06 3 views
0

я был под впечатлением, что, если поместить строку кода в CSS далее вниз таблицы стилей должно быть признано более важным, например:CSS Каскадирование - не должна ли линия дальше вниз?

.border { приграничном-направо: 1px твердый #fff; }

.no-border { border-right: none; }

Не должен ли класс без границ переписывать первый класс? Это не происходит в проекте и не понимает, почему?

благодаря

+0

Не совсем уверен, что вы пытаетесь сделать. Пытаются применить.no-border class на элемент, который уже имеет класс .border? или вы действительно говорите .no-border перезаписывает .область, что не имеет смысла, учитывая два имени. Если вы говорите .граничный {border-right: 1px сплошной черный; }, а затем у них есть .border {border-right: 5px solid blue; } и это не работает, тогда я понимаю, что вы имеете в виду. – Norm

ответ

0

В качестве быстрого эмпирического правила считается последнее правило.

Однако это не так во многих сценариях. Вы должны прочитать на CSS Specificity.

Равная специфика: последнее правило считается самым правильным. «Если вы дважды ввели одно и то же правило в свою внешнюю таблицу стилей, то нижнее правило в вашей таблице стилей ближе к стилю, который будет стилизован, он считается более конкретным и, следовательно, будет применяться».

Когда селекторы имеют равное значение специфичности, например,

#content h1 { padding: 5px;} 
#content h1 { padding: 10px;} 

где оба правила имеют специфичность 0, 1, 0, 1, последнее правило всегда применяется.

Неравная специфика: более конкретное правило - это то, что считается. «Селектор может содержать одну или несколько опорных точек, чем больше рейтинг специфичности этих контрольных точек, тем более конкретным является ваше правило». Браузеры выбирают наиболее конкретные правила для отображения.

0

Да, только если он имеет то же имя класса попробуйте использовать! Важные вместо

+0

! Важное. Что именно ты пытаешься сделать? –

0

Убедитесь, что вы будете следовать правилам порядка каскада. Другими словами, как вы определяете правило может переопределить , где вы определяете правило.

Этот сайт должен объяснить все это:

http://www.blooberry.com/indexdot/css/topics/cascade.htm

EDIT: К сожалению. В вашем примере вы не переопределяете один класс классом с тем же именем. Также может быть проблема.

0

Он делает.

Если правила имеют одинаковую специфичность, указанные выше правила имеют приоритет.

Смотрите код в действии: http://jsfiddle.net/JSJM9/1/

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