|
|
Правила каскадных таблиц стилей состоят из селектора и определения. Для уменьшение размеров таблиц стилей можно группировать разные селекторы в виде списка элементов, разделённый запятыми, если для них задаётся одно правило:
можно сгруппировать и задать в виде одного правила со списком селекторов:
Аналогично группируются определения, только в списке они разделяются точками с запятой (;). Например:
можно записать в виде одного правила, сгруппировав определения:
Некоторые свойства имеют собственный синтаксис группирования, связанный с заданием значений нескольких свойств в одном. Например, предыдущий пример при использовании свойства font запишеться так:
При задании таблицы стилей можно свободно комбинировать все три правила группирования для уменьшения её размеров. В HTML некоторые элементы могут содержать другие. Как будет отображаться элемент, расположенный внутри другого элемента страницы, если для последнего задано правило форматирования, а для вложенного элемента нет? Например, пусть цвет шрифта абзаца определён как синий ( P { color: blue } ). Как будет отображаться выделенный элемент текста, задаваемый тэгом <EM>, если для него не определено правило форматирования? В подобных случаях вложенный элемент наследует правила форматирования элемента-родителя. В нашем примере выделенный элемент также будет отображаться синим цветом. Некоторые свойства не наследуются вложенными элементами от своих родителей, например свойство background, но по умолчанию вложенные элементы будут отображаться с фоном родительского элемента. Наследование полезно для задания свойств для элемента, порождающего остальные элементы страницы HTML. Например:
Или для задания свойств тела документа:
Приведённые правила задают форматирование документа по умолчанию чёрным шрифтом Times New Roman с фоном, задаваемым графическим файлом texture.gif, или на белом фоне, если файл не доступен. Приведённое залание правил форматирования будет работать всегда, даже если разработчик пропустит в документе тэг <BODY>, что допускается стандартом языка HTML, так как синтаксический анализатор HTML всегда вставляет пропущенный тэг <BODY>. |