А вы используете 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
Дайджест новых статей по интернет-маркетингу на ваш email
Новые статьи и публикации
- 2024-11-26 » Капитан грузового судна, или Как начать использовать Docker в своих проектах
- 2024-11-26 » Обеспечение безопасности ваших веб-приложений с помощью PHP OOP и PDO
- 2024-11-22 » Ошибки в Яндекс Вебмастере: как найти и исправить
- 2024-11-22 » Ошибки в Яндекс Вебмастере: как найти и исправить
- 2024-11-15 » Перенос сайта на WordPress с одного домена на другой
- 2024-11-08 » OSPanel 6: быстрый старт
- 2024-11-08 » Как установить PhpMyAdmin в Open Server Panel
- 2024-09-30 » Как быстро запустить Laravel на Windows
- 2024-09-25 » Next.js
- 2024-09-05 » OpenAI рассказал, как запретить ChatGPT использовать содержимое сайта для обучения
- 2024-08-28 » Чек-лист: как увеличить конверсию интернет-магазина на примере спортпита
- 2024-08-01 » WebSocket
- 2024-07-26 » Интеграция с Яндекс Еда
- 2024-07-26 » Интеграция с Эквайринг
- 2024-07-26 » Интеграция с СДЕК
- 2024-07-26 » Интеграция с Битрикс-24
- 2024-07-26 » Интеграция с Travelline
- 2024-07-26 » Интеграция с Iiko
- 2024-07-26 » Интеграция с Delivery Club
- 2024-07-26 » Интеграция с CRM
- 2024-07-26 » Интеграция с 1C-Бухгалтерия
- 2024-07-24 » Что такое сторителлинг: техники и примеры
- 2024-07-17 » Ошибка 404: что это такое и как ее использовать для бизнеса
- 2024-07-03 » Размещайте прайс-листы на FarPost.ru и продавайте товары быстро и выгодно
- 2024-07-01 » Профилирование кода в PHP
- 2024-06-28 » Изучаем ABC/XYZ-анализ: что это такое и какие решения с помощью него принимают
- 2024-06-17 » Зачем вам знать потребности клиента
- 2024-06-11 » Что нового в работе Яндекс Метрики: полный обзор обновления
- 2024-06-11 » Поведенческие факторы ранжирования в Яндексе
- 2024-06-11 » Скорость загрузки сайта: почему это важно и как влияет на ранжирование
Всегда храни верность своему начальнику - следующий, может быть еще хуже... |
Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!
Как мы работаем
Заявка
Позвоните или оставьте заявку на сайте.
Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!
Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.
Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.
Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.