![]() |
||
|
aranea.ru || Спецификация CSS2 | 5.9. Селекторы ID.
5.9. Селекторы ID.Языки документов могут содержать атрибуты, которые объявляются как ID тип. Атрибут типа ID - особенный, поскольку не может быть два таких атрибута с одним и тем же значением; не зависимо от языка, атрибут ID может использоваться только для уникального определения одного элемента. В HTML все атрибуты ID называются "id"; XML-приложения могут называть атрибут ID по-разному, но применяется то же ограничение. Атрибут ID языка документа позволяет авторам присвоить идентификатор для одного случая элемента в дереве документа. Селектор ID в CSS согласуется с элементом, основанном на этом идентификаторе. Селектор ID в CSS содержит символ "#" с последующим значением ID. Следующий селектор ID согласуется с элементом Н1, атрибут ID которого имеет значение "chapter1":
H1#chapter1 { text-align: center }
В следующем примере, стилевое правило согласуется с элементом, у которого ID имеет значение "z98y". Правило таким образом согласуется с элементом Р:
<HEAD>
<TITLE>Match P</TITLE>
<STYLE type="text/css">
*#z98y { letter-spacing: 0.3em }
</STYLE>
</HEAD>
<BODY>
<P id=z98y>Wide text</P>
</BODY>
В следующем примере, однако, стилевое правило будет согласовываться только с элементом Н1, у которого ID имеет значение "z98y".
<HEAD>
<TITLE>Match H1 only</TITLE>
<STYLE type="text/css">
H1#z98y { letter-spacing: 0.5em }
</STYLE>
</HEAD>
<BODY>
<P id=z98y>Wide text</P>
</BODY>
Селекторы ID имеют наибольшее старшинство по сравнению с селекторами атрибутов. Например, в HTML селектор #p123 является более специфичным, чем [ID=p123] в терминологии каскадирования. Обратите внимание. В XML 1.0 информация о том, какой атрибут содержит ID элемента, находится в файле DTD. Когда проводится синтаксический анализ XML, устройства вывода не всегда читают DTD, и таким образом не могут знать значение ID элемента. Если дизайнер стилевых таблиц знает или подозревает, что этот случай может иметь место, ему следует использовать нормальные селекторы атрибутов: [name=p371] вместо #p371. Однако, порядок каскадирования нормальных селекторов атрибутов отличается от селекторов ID. Возможно, необходимо добавить приоритет "!important" для объявления: [name=p371]{color: red ! important}. Конечно, элементы в документе XML 1.0 без DTD вообще не имеют ID. |