Наследуемость

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

Как вы помните, тег body является предком всех остальных тегов в коде страницы. Поэтому, благодаря наследуемости CSS, если мы добавим к тегу body стиль:

body {font-family: verdana, helvetica, sans-serif; color:blue;}

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

Многие свойства CSS наследуются точно так же, особенно текстовые атрибуты. Тем не менее, некоторые CSS-свойства не наследуются, так как в этом просто нет смысла. К ним, в основном, относятся свойства выравнивания и отображения блочных элементов: рамки, поля, отступы и т.п. Представьте, что мы хотим создать боковую панель с текстом. Можно сделать это с помощью div (подобия блока) с несколькими абзацами и добавить к div красную рамку толщиной 2 пиксела. Однако нам совсем не требуется, чтобы эта рамка наследовалась для каждого абзаца, и этого не будет - свойства рамки не наследуются.

Также будьте предельно осторожны при работе с относительными единицами указания размера элементов - процентами и em. Если вы указали размер шрифта равный 80%, для элемента, расположенного внутри другого элемента. с размером шрифта 80%, реальный размер шрифта первого составит 64% от базового (80% из 80%).