Воскресенье, 24.11.2024
Заработок в интернете!
Меню сайта
Мини-чат
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Наследованием называется перенос правил форматирования для элементов, находящихся внутри других. Такие элементы являются дочерними, и они наследуют некоторые стилевые свойства своих родителей, внутри которых располагаются.

Разберем наследование на примере таблицы. Особенностью таблиц можно считать строгую иерархическую структуру тегов. Вначале следует контейнер <TABLE> внутри которого добавляются теги <TR>, а затем идет тег <TD>. Если в стилях для селектора TABLE задать цвет текста, то он автоматически устанавливается для содержимого ячеек, как показано в примере 15.1.

Пример 15.1. Наследование параметров цвета

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<style type="text/css">
TABLE {
 color: red; /* Цвет текста */
 background: #333; /* Цвет фона таблицы */
 border: 2px solid red /* Красная рамка вокруг таблицы */
}
</style>
</head>
<body>

<table cellpadding="4" cellspacing="0">
 <tr>
  <td>Ячейка 1</td><td>Ячейка 2</td>
 </tr>
 <tr>
  <td>Ячейка 3</td><td>Ячейка 4</td>
 </tr>
</table>

</body>
</html>

В данном примере для всей таблицы установлен красный цвет текста, поэтому в ячейках он также применяется, поскольку тег <TD> наследует свойства тега <TABLE>. При этом следует понимать, что не все стилевые атрибуты наследуются. Так, параметр border задает рамку вокруг таблицы в целом, но никак не вокруг ячеек. Аналогично не наследуется значение параметра background. Тогда почему цвет фона у ячеек в данном примере черный, раз он не наследуется? Дело в том, что у свойства background в качестве значения по умолчанию выступает transparent, т.е. прозрачность. Таким образом, если аргумент явно не задан, то цвет фона родительского элемента «проглядывает» сквозь дочерний элемент.

Чтобы определить, наследуется значение стилевого атрибута или нет, требуется заглянуть в справочник по свойствам CSS и посмотреть там. Подключать свою интуицию в данном случае бесполезно, может и подвести.

Наследование позволяет задавать значения некоторых параметров единожды, определяя их для родителей верхнего уровня. Допустим, требуется установить цвет и шрифт для основного текста. Достаточно воспользоваться селектором BODY, добавить желаемые атрибуты для него, и цвет текста внутри абзацев и других текстовых элементов поменяется автоматически (пример 15.2).

Пример 15.2. Параметры текста для всей веб-страницы

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<style type="text/css">
BODY {
 font-family: Arial, Helvetica, sans-serif; /* Гарнитура шрифта */
 color: navy /* Синий цвет текста */
}
</style>
</head>
<body>
<p>Цвет текста этого абзаца синий.</p>
</body>
</html>

В данном примере рубленый шрифт и цвет текста абзацев устанавливается с помощью селектора BODY. Благодаря наследованию уже нет нужды задавать цвет для каждого элемента документа в отдельности. Однако бывают варианты, когда требуется все-таки изменить цвет для отдельного контейнера. В этом случае придется переопределять нужные параметры явно, как показано в примере 15.3.

Пример 15.3. Изменение свойств наследуемого элемента

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<style type="text/css">
BODY {
  font-family: Arial, Helvetica, sans-serif; /* Гарнитура шрифта */
  color: navy /* Синий цвет текста */
}

P.red {
 color: maroon /* Темно-красный цвет текста */
}
</style>
</head>
<body>

<p>Цвет текста этого абзаца синий.</p>
<p class="red">А у этого абзаца цвет текста уже другой.</p>

</body>
</html>

В данном примере цвет первого абзаца наследуется от селектора BODY, а для второго установлен явно через класс с именем red.

Форма входа

Поиск
Календарь
«  Ноябрь 2024  »
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
252627282930
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Graffiti Decorations(R) Studio (TM) Site PromoterЯндекс цитирования.
    Copyright Melvis © 2024
    Бесплатный хостинг uCoz