и т. д., унаследуют этот цвет шрифта. Ограничения наследования Механизм наследования неидеален. Многие CSS-свойства вообще не наследуются, например border (позволяющий оформить в рамку элемент веб-страницы). Однако если бы наследование применялось к этому свойству, то все теги, вложенные в эле- мент, были бы одинаковы. Например, если бы вы добавили рамку к
, то она была бы во всех маркированных списках (в каждом пункте, подпункте и т. д.) (рис. 4.2). ПРИМЕЧАНИЕ Полный список CSS-свойств, включая их подробное описание, параметры наследования и т. д., при- веден в приложении 1. Ниже описаны конкретные случаи, когда наследование точно не применяется. Как правило, свойства, которые затрагивают размещение элементов на страни- це (отступы (поля), границы (рамки) элементов), не наследуются.
Глава 4. Механизм наследования стилей 109 Браузеры используют собственные встроенные стили для форматирования раз- личных тегов. Заголовки обычно отображаются крупным полужирным шриф- том, ссылки — синим цветом и т. д. Даже если определен конкретный размер кегля для текстового содержимого веб-страницы и применен к
, заголовки будут отображены большим по размеру шрифтом. Теги
будут крупнее
Точно так же, когда вы устанавливаете цвет применительно к
, гиперссыл- ки веб-страницы все равно будут показаны синим цветом с подчеркиванием. Рис. 4.2. Рамка, относящаяся к абзацу (вверху), не наследуется тегами, находящимися внутри
110 Часть 1. Основы CSS ПРИМЕЧАНИЕ Очень полезно устранять встроенные стили браузеров — это упростит создание сайтов, совмести- мых с различными типами браузеров. В гл. 5 вы узнаете, как добиться этого. Если возникает конфликт, то побеждает более явно определенный стиль. Дру- гими словами, когда вы применяете CSS-свойство к элементу веб-страницы (напри- мер, устанавливаете размер шрифта для маркированного списка) и оно кон фликтует с наследуемым (например, размером шрифта ), то браузер использует явно опи- санное свойство, более близко относящееся к стилизуемому элементу (в данном случае применяется размер шрифта, определенный для ). ПРИМЕЧАНИЕ Такие типы конфликтов между стилями встречаются очень часто, и правила, определяющие, как должен вести себя браузер, называются каскадностью и выявляются приоритетом. Подробнее об этом вы узнаете в следующей главе. Обучающий урок: наследование В этом обучающем уроке, состоящем из трех частей, вы увидите, как функциони- рует механизм наследования. Сначала создадим простой селектор типа и пона- блюдаем, каким образом он передает свои стилевые параметры. Затем сделаем класс, который использует наследование для изменения форматирования всей веб-страницы. И наконец, рассмотрим случаи отступления от правил, на которые следует обратить внимание. Файлы текущей обучающей программы находятся в папке с названием 04 ар- хива, описанного в конце гл. 2. Одноуровневое наследование Чтобы увидеть и понять, как работает механизм наследования, добавим единствен- ный теговый стиль и посмотрим, как он воздействует на вложенные теги. Все три части этого обучающего урока взаимосвязаны, поэтому сохраняйте свой экспери- ментальный файл в конце каждого урока для его последующего использования. 1. Откройте файл inheritance.html в HTML-редакторе. Сейчас добавим в него внутреннюю таблицу стилей. ПРИМЕЧАНИЕ Вообще, в сайтах лучше использовать внешние таблицы стилей по причинам, описанным в гл. 2. Иногда проще начать разработку CSS-дизайна отдельных веб-страниц, используя внутреннюю таб- лицу, как в этом примере, а уже потом преобразовать ее во внешнюю. 2. Щелкните кнопкой мыши сразу после закрывающего тега
. Нажмите клавишу Enter и введите
, обозначающий конец таблицы стилей. Эти теги опре- деляют область, в которой будут находиться команды языка CSS. Теперь нужно создать стиль, который будет применен ко всем тегам абзацев ПРИМЕЧАНИЕ Если используются типы документов HTML 4.01 или XHTML (а не HTML5, как в данном учебнике), к открывающему тегу style нужно добавить атрибут type="text/css":
|