А вы используете 7 селекторов атрибутов?

Селекторы CSS являются значимым ингредиентом при разработке веб сайта. Они привязывают код CSS к разметке HTML. Сколько различных шаблонов селекторов вы регулярно используете?

Скорее всего, немного. Обычно  список ограничивается простыми селекторами элементов HTML, классов и идентификаторов. Но возможных селекторов значительно больше.

В этом и последующем уроках будет представлено 42 варианта селекторов, которые могут существенно улучшить ваш код.

В данной серии уроков мы рассмотрим следующие типы селекторов:

  • Селекторы атрибутов — используем атрибуты HTML для выбора элементов.
  • Комбинаторы — комбинирование селекторов для более точного указания элементов.
  • Псевдо классы — элементы, которые мы можем использовать при определенных условиях.

Комбинаторы и псевдо классы будут рассмотрены в последующих уроках серии.

Для начала взглянем на простые селекторы.

Примечание: в скобках указана версия CSS, в которой появился селектор.

 

Простые селекторы

Простые селекторы включают селектор типа, универсальный селектор, селектор атрибута, селектор класса, селектор идентификатора и псевдо класс (псевдо класс будет рассмотрен в следующем уроке

Селектор типа (1)  E (соответствует любому элементу типа E) — Мы можем использовать любой элемент HTML в селекторе.

Универсальный селектор (2) * (соответствует любому элементу) — Если есть стиль, который нужно использовать для всех элементов на странице, то используем данный селектор.

Селектор класса (1)  .class (соответствует элементу с классом class) — любой набор стилей, который можно использовать для любых элементов, обладающих определенным классом.

Селектор идентификатора (1) #myid (соответствует элементу с идентификатором myid) — любой набор стилей, который используется только для одного элемента с определенным идентификатором.

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

 

Селекторы атрибутов

Селекторы атрибутов были введены в CSS2 и расширены в CSS3.

E[foo]  (2) — соответствует элементу E с атрибутом “foo”.

<a href="/yoursite.com/somepage.html" rel="external">
<a href="/mypage.html" rel="internal">

 

Обе ссылки будут иметь зеленый цвет, так как содержат атрибут rel.

E[foo="bar"] (2) — соответствует элементу E, атрибут которого “foo” имеет значение “bar”.

<a href="/yoursite.com/somepage.html" rel="external">
<a href="/mypage.html" rel="internal">

 

a[rel="external"] { color: green }

Только первая ссылка будет иметь зеленый цвет, так как только она обладает атрибутом rel со значением “external.”

E[foo~="bar"] (2) — соответствует элементу E, который имеет атрибут “foo” со значением в виде списка, разделенного пробелом, и одним значением соответствующим “bar".

<a href="/yoursite.com/somepage.html" rel="external friend bob">
<a href="/mypage.html" rel="internal friend janice">

 

a[rel~="friend"] {color: green}

Обе ссылки будут иметь зеленый цвет, так как обе имеют атрибут rel со значением friend в списке, разделенном пробелом.

E[foo^="bar"]  (3) — соответствует элементу E, который имеет атрибут “foo” со значением, начинающимся со строки “bar”.

<a href="/yoursite.com/somepage.html" rel="external friend bob">
<a href="/mypage.html" rel="internal friend janice">

 

a[href^="my"] {color: green}

Вторая ссылка имеет зеленый цвет, так как значение атрибута href у нее начинается со строки “my.”

E[foo$="bar"] (3) — соответствует элементу E, который имеет атрибут “foo” со значением, заканчивающимся строкой “bar".

<a href="/yoursite.com/somepage.html" rel="external friend bob">
<a href="/mypage.php" rel="internal friend janice">

 

a[href$="php"] {color: green}

Вторая ссылка будет иметь зеленый цвет, так как значение атрибута href  заканчивается строкой "php". Данный селектор может быть отличным средством для выделения ссылок с определёнными типами файлов.

E[foo*="bar"] (3) — соответствует элементу E, который имеет атрибут “foo” со значением, содержащим строку “bar”.

 

<a href="/yoursite.com/somepage.html" rel="external friend bob">
<a href="/mypage.php" rel="internal friend janice">

 

a[href*="page"] {color: green}

Обе ссылки будут иметь зеленый цвет, так как значение атрибута href содержит строку “page”.

E[foo|="en"] (3) — соответствует элементу E, атрибут которого “foo” имеет значение в виде списка, разделенного тире и начинающегося (слева направо) с “en”.

<a href="/yoursite.com/somepage.html" rel="external-friend-bob">
<a href="/mypage.php" rel="internal-friend-janice">

 

a[rel|="internal"] {color: gree}

Только вторая ссылка будет иметь зеленый цвет, так как значение ее атрибута начинается с “internal.”

 

Множественный селектор атрибутов

Можно объединять несколько селекторов атрибутов вместе:

<a href="/yoursite.com/somepage.html" rel="external friend bob">
<a href="/mypage.php" rel="internal friend janice">

 

a[rel~="friend"][rel~="external"] {color: green}

Приведенный в примере селектор соответствует первой ссылке, так как только у нее есть в списке значений атрибута обе указанных строки.

 

Атрибуты или класса и идентификаторы?

Каково же преимущество использования атрибутов перед классами и идентификаторами?

Если добавлять атрибут специально для использования селектора, то преимуществ нет.

Но многие элементы разметки HTML имеют атрибуты для других целей. href и очень часто - атрибут title. Изображения всегда имеют атрибут alt. Элементы формы используют атрибут type. В коде HTML задействовано большое количество атрибутов. Почему бы не использовать преимущества селекторов атрибутов для них?

Кроме того, HTML5 имеет новый атрибут - data, который также может нести двойную нагрузку.

Селекторы атрибутов могут избавить код HTML от лишних классов и идентификаторов.

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

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

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



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

А вы используете 7 селекторов атрибутов? | | 2012-06-19 12:03:24 | | Статьи Web-мастеру | | Селекторы CSS являются значимым ингредиентом при разработке веб сайта. Они привязывают код CSS к разметке HTML. Сколько различных шаблонов селекторов вы регулярно используете?Скорее всего, немного. | РэдЛайн, создание сайта, заказать сайт, разработка сайтов, реклама в Интернете, продвижение, маркетинговые исследования, дизайн студия, веб дизайн, раскрутка сайта, создать сайт компании, сделать сайт, создание сайтов, изготовление сайта, обслуживание сайтов, изготовление сайтов, заказать интернет сайт, создать сайт, изготовить сайт, разработка сайта, web студия, создание веб сайта, поддержка сайта, сайт на заказ, сопровождение сайта, дизайн сайта, сайт под ключ, заказ сайта, реклама сайта, хостинг, регистрация доменов, хабаровск, краснодар, москва, комсомольск |
 
Поделиться с друзьями: