CSS каскадный приоритет - PullRequest
2 голосов
/ 07 июня 2011

У меня есть этот HTML, который я пытаюсь стилизовать:

<div id="menubar">
    <menu id="menubarTransportControls">Foobar</menu>
</div>

Может кто-нибудь объяснить, почему этот CSS ...

#menubar menu {
    width: auto;
}

... имеет приоритет над...

#menubarTransportControls {
    width: 100%;
}

Я использую IE7 с javascript HTML5 shiv.Спасибо

Ответы [ 4 ]

6 голосов
/ 07 июня 2011

#menubar menu имеет более высокую специфичность, чем #menubarTransportControls.

Чтобы понять специфику:

Вы можете использовать этот калькулятор, если вынапример:

http://www.suzyit.com/tools/specificity.php

Selector                    Score (a,b,c,d)
#menubar menu               0,1,0,1
#menubarTransportControls   0,1,0,0

Обязательно прочитайте некоторые из вышеперечисленных ресурсов, чтобы понять, что означает "Оценка".

1 голос
/ 07 июня 2011

это все о монастыре.В CSS id более мощный, чем class & element, например,

id=100

class=10
element=1

, поэтому в вашем примере:

#menubar menu = 100 + 1 = 101

&

#menubarTransportControls = 100 = 100 

так, какой из них более мощный.для дополнительной информации проверьте http://code.google.com/edu/submissions/html-css-javascript/ (презентация CSS)

1 голос
/ 07 июня 2011

Поскольку #menubar menu является более конкретным, чем #menubarTransportControls

См. Дополнительную информацию http://coding.smashingmagazine.com/2007/07/27/css-specificity-things-you-should-know/

0 голосов
/ 07 июня 2011

#menubar menu напрямую вызывает тег menu, поэтому он имеет приоритет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...