Поговорим о специфике работы CSS

Если вы часто используете CSS, то наверняка вам будет полезно знать о специфике его работы. Настоящий мастер в первую очередь должен знать именно это, а потом уже как позиционировать и оформлять элементы. Так же, если вы когда-то использовали ключевое слово important!, то эта статья так же для вас.

Как браузер читает CSS

В первую очередь вам необходимо знать, каким образом браузер читает CSS код. Делает он это сверху вниз, проходясь последовательно по каждой строчке:

/*Строка 10*/
ul li a {
 color: red;
}

/*Строка 90*/
ul li a {
 color: blue;
}

Правило написанное на строке 10, будет заменено на строке 90. В результате цвет ссылки будет синим. Правила с одинаковые селекторы, которые находятся ближе к концу файла имеют больший приоритет.

Тот же самый принцип работает при последовальном подключении CSS файлов:

<link href='css/style.css' rel='stylesheet'>
<link href='css/custom.css' rel='stylesheet'>

Специфика

Всё вышеперечисленное имеет место быть в том случае, если вес ваших селекторов одинаков. Если же вы приписываете ID, классы или вложенность элементов, то тут включается CSS специфика.

Существует 4 категории составляющих веса селектора: строчные стили, ID, классы и простые элементы. Как оценивать вес? Расклад такой:

  • ID-шки весят 100 очков
  • Классы весят 10 очков
  • Элементы весят по 1 очку

Зная это, рассчитаем приоритет селектора:

#content .sidebar .module li a

100 + 10 + 10 + 1 + 1 = 122 (ID, 2 класса, 2 элемента)

Запомните:

  • ID веся больше всего по сравнению с классами и элементами, поэтому вы должны ограничить использование ID в ваших стилях до минимума;
  • В случаях, когда селекторы весят одинаково, порядок их применения будет такой: последний селектор имеет больший приоритет;
  • Стили списанные в HTML самые козырные, так как они ближе всех к элементу;
  • Единственный способ переопределить встроенные стили, это использовать ключевое слово !important;
  • Псевдо-классы и атрибуты весят так же, как и обычные классы;
  • Псевдо-элементы весят, как обычные элементы;
  • Универсальный селектор (*) не весит ничего.

Примеры:

Общий вес данного селектора 3 очка, так что добавив класс другой селектор будет иметь приоритет повыше.

.content #sidebar {
 width: 30%;
}

Данный селектор весит 110 очков из-за ID и класса.

.post p:first-letter {
 font-size: 16px;
}

Этот селектор весит 12 очков, так как псевдо-элемент :first-letter и тэг параграфа весят по одному баллу.

p {
font-family: Helvetica, arial, sans-serif;
}

Этот селектор весит всего 1 очко. Подобный тип селектора должен быть написан в верхней части страницы. При написании основных стилей, которые в дальнейшем могут быть переопределены для конкретных областей.

Запомните, что для переопределения ID-шки, вы должны написать 256 классов для одного элемента:

#title {
 font-weight: bold;
}

.home .page .content .main .posts .post .post-content .headline-area .wrapper /* ... etc. ... */ .title {
  font-weight: normal;
}

Только так второй селектор перебьёт первый.

Итог

Конечно теоретическая специфика CSS это далеко не самый важный аспект. Однако, зная эти правила можно ускорить работу над сайтом.


Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/0HUkAzOPelo/lessons.php

Читать комменты и комментировать

Добавить комментарий / отзыв



Защитный код
Обновить

Поговорим о специфике работы CSS | | 2013-05-15 03:17:50 | | Статьи Web-мастеру | | Если вы часто используете CSS, то наверняка вам будет полезно знать о специфике его работы. Настоящий мастер в первую очередь должен знать именно это, а потом уже как позиционировать и оформлять | РэдЛайн, создание сайта, заказать сайт, разработка сайтов, реклама в Интернете, продвижение, маркетинговые исследования, дизайн студия, веб дизайн, раскрутка сайта, создать сайт компании, сделать сайт, создание сайтов, изготовление сайта, обслуживание сайтов, изготовление сайтов, заказать интернет сайт, создать сайт, изготовить сайт, разработка сайта, web студия, создание веб сайта, поддержка сайта, сайт на заказ, сопровождение сайта, дизайн сайта, сайт под ключ, заказ сайта, реклама сайта, хостинг, регистрация доменов, хабаровск, краснодар, москва, комсомольск |
 
Поделиться с друзьями: