KnigaRead.com/

Евгений Резниченко - Спецификация CSS2

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Евгений Резниченко, "Спецификация CSS2" бесплатно, без регистрации.
Перейти на страницу:

Если таблица стилей встроена в другой документ, например, элемент STYLE или атрибут "style" в HTML, таблица стилей разделяет использование кодировки символов с этим документов.

Если таблица стилей находится в отдельном файле, ПА обязаны учитывать следующий приоритет при определении кодировки символов документа (от высшего приоритета к низшему):

1Параметр HTTP "charset" в поле "Content-Type".

2At-правило @charset.

3Механизмы языка обращающегося документа (например, в HTML атрибут "charset" элемента LINK).

Не более одного правила @charset может появляться во внешней таблице стилей - оно обязано не появляться во внедрённой таблице стилей - и оно должно появляться в самом начале документа, до появления любых символов. После "@charset" авторы специфицируют имя кодировки символов. Имя обязано быть названием набора символов, как описано в регистре IANA (см. [IANA] . См. также в [CHARSETS] полный список наборов символов). Например:


@charset "ISO-8859-1";


В данной спецификации не определено, какие кодировки символов ПА обязан поддерживать.

Обратите внимание, что опора на конструкцию @charset теоретически создаёт проблему, поскольку отсутствует a priori информация о том, как она кодирована. На практике, однако, широко используемые кодировки в Internet базируются или на ASCII, UTF-16, UCS-4, или (редко) на EBCDIC. В общем, это означает, что значения начальных байтов документа дают ПАгенту возможность определить семейство кодировки, что даёт достаточно информации для декодирования правила @charset, которое, в свою очередь, определяет точную кодировку.

Таблице стилей может понадобиться обратиться к символам, которые невозможно представить в текущей кодировке символов. Эти символы обязаны быть записаны как escape'ированные ссылки на символы ISO 10646. Эти мнемоники служат для тех же целей, что и числовые ссылки в документах HTML или XML (см. [HTML40] , главы 5 и 25).

Escape-механизм символов должен использоваться только тогда, когда необходимо вывести таким способом только несколько символов. Если большая часть документа требует этого, авторы должны кодировать документ в более подходящей кодировке (например, если документ содержит много греческих символов, автор может использовать "ISO-8859-7" или "UTF-8").

Процессоры-посредники, использующие другие кодировки символов, могут транслировать эти escape-последовательности в последовательности байтов кодировки. Процессоры-посредники не обязаны, с другой стороны, изменять escape-последовательности, отменяющие специальные значения символов ASCII.

Соответствующие ПА обязаны корректно отображать в Unicode все символы любой кодировки, которые они могут распознать (или они обязаны вести себя так, как будто они это делают).

Например, документ, передаваемый как ISO-8859-1 (Latin-1), не может содержать напрямую греческую букву: "κουρος" (по-гречески: "kouros"), которая должна быть записана как "3BA3BF3C53C13BF3C2".

Примечание. В HTML 4.0 числовые мнемоники интерпретируются в значениях атрибута "style", но не в содержимом элемента STYLE. Из-за этой асимметрии мы рекомендуем, чтобы авторы использовали escape-механизм CSS вместо числовых мнемоник и для атрибута "style", и для элемента STYLE. Например, мы рекомендуем:

<SPAN style="voice-family: DFC rst">...</SPAN>


вместо:


<SPAN style="voice-family: Dürst">...</SPAN>


Лекция 5. Селекторы

Описываются селекторы, их синтаксис, а также псевдоэлементы и псевдоклассы.

В CSS правила совпадения символов определяют, какое правило стиля применить к элементам дерева документа. Такие блоки символов (патэрн), называемые селекторами, могут иметь диапазон имён от простых имён элементов до сложных контекстуальных блоков. Если все условия в патэрн верны для конкретного элемента, селектор совпадает с элементом.

Чувствительность к регистру имён элементов в селекторах зависит от языка документа. Например, в HTML имена элементов нечувствительны к регистру, а в XML - чувствительны к регистру.

В этой таблице суммирован синтаксис селекторов CSS2:

ПатэрнСмыслОписан в разделе*совпадает любой элемент.Универсальный селекторEсовпадает любой элемент E (т.е. элемент типа E).Типы селекторовE Fсовпадает любой элемент F, являющийся потомком элемента E.Селекторы-потомкиE > Fсовпадает любой элемент F, являющийся дочерним относительно элемента E.Дочерние селекторыE:first-childсовпадает элемент E, если E является первым дочерним элементом своего родителя.Псевдокласс :first-child

E:link

E:visited

совпадает элемент E, если E является якорем ещё не посещённого ресурса гиперссылки (:link) или уже посещённого (:visited).Псевдоклассы гиперссылки

E:active

E:hover

E:focus

совпадает элемент E во время определённых действий пользователя.Динамические псевдоклассыE:lang(c)совпадает элемент типа E, если он на (человеческом) языке с (язык документа специфицирует то, как определяется язык).Псевдокласс :lang()E + Fсовпадает любой элемент F, непосредственно перед которым идёт элемент E.Смежные селекторыE[foo]совпадает любой элемент E с установленным атрибутом "foo" (с каким-либо значением).Селекторы атрибутовE[foo="warning"]совпадает любой элемент E, чьё значение атрибута "foo" точно равно "warning".Селекторы атрибутов

E

[foo~="warning"]

совпадает любой элемент E, чьё значение атрибута "foo" является списком разделённых пробелами значений, одно из которых точно равно "warning".Селекторы атрибутов

E

[lang|="en"]

совпадает любой элемент E, чей атрибут "lang" содержит список разделённых дефисами значений, начинающийся (слева) с "en".Селекторы атрибутовDIV.warningТолько в HTML. То же, что DIV[class~="warning"]. Селекторы классов E#myidсовпадает любой ID элемента E, эквивалентный "myid".Селекторы ID

Простой селектор - селектор типа или универсальный селектор, непосредственно после которого идёт ноль или более селекторов атрибутов, селекторов ID или псевдоклассов в любом порядке. Простой селектор совпадает, если совпадают все его компоненты.

Селектор это цепь из одного или более простых селекторов, разделённых комбинаторами. Комбинаторами являются: пробелы, ">" и "+". Пробелы могут появляться между комбинатором и простыми селекторами вокруг него.

Элементы дерева документов, совпадающие с селектором, называются субъектами селектора. Cелектор, состоящий из одного простого селектора, совпадает с любым элементом, удовлетворяющим его условиям. Предопределённость простого селектора и комбинатора в цепи вызывает дополнительные ограничения для совпадения, так что субъекты селектора всегда являются поднабором элементов, совпадающим с самым правым простым селектором.

Один псевдоэлемент может быть присоединён к последнему простому селектору в цепи, и в этом случае информация стиля применяется к подразделу каждого субъекта.

Если несколько селекторов используют общие объявления, то они могут быть сгруппированы в список с разделением запятыми.

Здесь три правила с идентичными объявлениями собраны в одно. Таким образом,


H1 { font-family: sans-serif } H2 { font-family: sans-serif } H3 { font-family: sans-serif }

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*