Блог Vaden Pro

Все о самостоятельном создании и продвижении сайтов

Понятие наследования стилей в CSS

Раздел: 

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

CSS наследование

Причем стоит отметить, что понятие наследования следует рассматривать в комплексе с двумя другими понятиями: специфичность и каскад.

Итак, начнем с наследования. Данный термин означает процесс, который руководит присвоением стилей для блоков, и, в том числе, для потомков этих же элементов.

В практике программирования сайтов очень часто возникает типичная задача, сущность которой заключается в том, что один элемент может подчиняться двум разным правилам стилизации. В качестве примера рассмотрим следующую заготовку:

HTML

<div class="element">В какой цвет перекрасится этот элемент?</div>

CSS

div {
   color: # fff600; /* желтый */
}
.element {
   color: # ff0000; /* красный */
}
body {
   color: # 1200ff; /* синий */
}

Из этого кода мы видим, что и первый, и второй стиль несомненно подходят для применения к элементу.

Говоря конкретнее, в первом правиле мы обращаемся к элементу посредством селектора типа, а во втором посредством селектора, который обращается к классу. Более того третий стиль с вероятностью 99,9% тоже должен применятся к нашему элементу, так как данный div должен находится внутри тега body.

И теперь возникает справедливый вопрос — в какой именно цвет окрасится текст. И тут к нам на помощь приходит понятие каскад. Точнее правила каскадирования, посредством которых определяется важность правила. Стоит заметить, что именно это понятие каскада и сформировало название CSS — таблица каскадных стилей.

Выбор наиболее приоритетного правила осуществляется с помощью назначения числового значения. Эта величина и является сущностью понятия специфичности.

В комплексе понимание принципов работы каскада и специфичности и позволяет лучше понять принцип наследования стилей в CSS.