CSS по шагам

       

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


<!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).



Содержание раздела