![]() |
||
|
aranea.ru || Спецификация CSS2 | 17.2. Табличная модель CSS.
17.2. Табличная модель CSS.17.2.1. Анонимные табличные объекты.Табличная модель CSS основана на модели HTML 4.0, в которой структура таблицы очень похожа на ее визуальную разметку. В этой модели таблица состоит из необязательного заголовка и любого количества рядов ячеек. Табличная модель является "первоначально рядной", так как авторы определяют явно ряды, а не колонки, в языке документа. Колонки получаются, как только установлены ряды (первая ячейка каждого ряда принадлежит первой колонке, вторая – ко второй и т.е.). Ряды и колонки могут группироваться структурно, и такая группировка отражается в презентации (например, граница может рисоваться вокруг группы рядов). Таким образом, табличная модель состоит из таблиц, названий таблиц, рядов, группы рядов, колонок, группы колонок и ячеек. Модель CSS не требует, чтобы язык документа включал элементы, которые соответствуют каждому из этих компонентов. Для языков документов (подобных XML), которые не имеет заранее определенных табличных элементов, авторы должны преобразовывать элементы языка в табличные; это осуществляется свойством 'display'. Следующие значения 'display' присваивают табличную семантику произвольному элементу:
Элементы со свойством 'display', установленном на 'table-column' или 'table-column-group', не визуализируются (точно так же, как если бы они имели 'display: none'), но они полезны, так как могут иметь атрибуты, которые приводят к определенному стилю для колонок, которые они представляют. Стилевые таблицы по умолчанию для HTML 4.0 в приложении иллюстрируют использование этих значений для HTML 4.0: TABLE { display: table } TR { display: table-row } THEAD { display: table-header-group } TBODY { display: table-row-group } TFOOT { display: table-footer-group } COL { display: table-column } COLGROUP { display: table-column-group } TD, TH { display: table-cell } CAPTION { display: table-caption } Устройства вывода могут игнорировать значения свойства 'display' для документов HTML, так как авторам не следует менять ожидаемое поведение элементов. 17.2.1. Анонимные табличные объекты.Языки документов, которые отличаются от HTML, могут не содержать все элементы в табличной модели CSS2. В таких случаях "недостающие" элементы должны симулироваться для того, чтобы табличная модель работала. Недостающие элементы генерируют анонимные объекты (например, анонимные блоки при визуальной разметке таблицы) в соответствии со следующими правилами:
В примере с XML, предполагается, что элемент HBOX содержит элемент 'table': <HBOX> <VBOX>George</VBOX> <VBOX>4287</VBOX> <VBOX>1998</VBOX> </HBOX> т. к. связанная стилевая таблица: HBOX { display: table-row } VBOX { display: table-cell } три элемента 'table-cell', предполагается, содержат текст в элементах ROW. Обратите внимание на то, что текст заключен в анонимные внутристрочные блоки, как это объясняется в модели визуального форматирования: <STACK> <ROW>This is the <D>top</D> row. </ROW> <ROW>This is the <D>middle</D> row. </ROW> <ROW>This is the <D>bottom</D> row. </ROW> </STACK> Стилевая таблица: STACK { display: inline-table } ROW { display: table-row } D { display: inline; font-weight: bolder } Устройство вывода для HTML не требует создания анонимных блоков в соответствии с выше указанными правилами. |