Css селекторы атрибутов: Селекторы атрибутов | htmlbook.ru

Содержание

Селекторы атрибутов | htmlbook.ru

Многие теги различаются по своему действию в зависимости от того, какие в них используются атрибуты. Например, тег <input> может создавать кнопку, текстовое поле и другие элементы формы всего лишь за счёт изменения значения атрибута type. При этом добавление правил стиля к селектору INPUT применит стиль одновременно ко всем созданным с помощью этого тега элементам. Чтобы гибко управлять стилем подобных элементов, в CSS введены селекторы атрибутов. Они позволяют установить стиль по присутствию определённого атрибута тега или его значения.

Рассмотрим несколько типичных вариантов применения таких селекторов.

Простой селектор атрибута

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

[атрибут] { Описание правил стиля }
Селектор[атрибут] { Описание правил стиля }

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

В примере 13.1 показано изменение стиля тега <q>, в том случае, если к нему добавлен атрибут title.

Пример 13.1. Вид элемента в зависимости от его атрибута

HTML5CSS 2.1IECrOpSaFx

<!DOCTYPE HTML>
<html>
  <head>
  <meta charset="utf-8">
  <title>Селекторы атрибутов</title>
  <style>
   Q {
    font-style: italic; /* Курсивное начертание */
    quotes: "\00AB" "\00BB"; /* Меняем вид кавычек в цитате */
   }
   Q[title] {
    color: maroon; /* Цвет текста */
   }
  </style>
 </head>
 <body>

  <p>Продолжая известный закон Мерфи, который гласит: <q>Если неприятность 
   может случиться, то она обязательно случится</q>, можем ввести свое наблюдение: 
  <q title="Из законов Фергюссона-Мержевича">После того, как веб-страница 
   будет корректно отображаться в одном браузере, выяснится, 
   что она неправильно показывается в другом</q>.</p>

 </body>
</html>

Результат примера показан на рис. 13.1.

Рис. 13.1. Изменение стиля элемента в зависимости от применения атрибута title

В данном примере меняется цвет текста внутри контейнера <q>, когда к нему добавляется title. Обратите внимание, что для селектора Q[title] нет нужды повторять стилевые свойства, поскольку они наследуются от селектора Q.

Атрибут со значением

Устанавливает стиль для элемента в том случае, если задано определённое значение специфичного атрибута. Синтаксис применения следующий.

[атрибут="значение"] { Описание правил стиля }
Селектор[атрибут="значение"] { Описание правил стиля }

В первом случае стиль применяется ко всем тегам, которые содержат указанное значение. А во втором — только к определённым селекторам.

В примере 13.2 показано изменение стиля ссылки в том случае, если тег <a> содержит атрибут target со значением _blank. При этом ссылка будет открываться в новом окне и чтобы показать это, с помощью стилей добавляем небольшой рисунок перед текстом ссылки.

Пример 13.2. Стиль для открытия ссылок в новом окне

HTML5CSS 2.1IECrOpSaFx

<!DOCTYPE HTML>
<html>
 <head>
  <meta charset="utf-8">
  <title>Селекторы атрибутов</title>
  <style>
   A[target="_blank"] { 
    background: url(images/blank.png) 0 6px no-repeat; /* Параметры фонового рисунка */
    padding-left: 15px; /* Смещаем текст вправо */
   }
  </style>
 </head>
 <body>
   <p><a href="1.html">Обычная ссылка</a> | 
   <a href="link2" target="_blank">Ссылка в новом окне</a></p>
 </body>
</html>

Результат примера показан ниже (рис. 13.2).

Рис. 13.2. Изменение стиля элемента в зависимости от значения target

В данном примере рисунок к ссылке добавляется с помощью свойства background. В его функции входит создание повторяющейся фоновой картинки, но повторение фона можно отменить через значение no-repeat, что в итоге даст единственное изображение.="значение"] { Описание правил стиля }

В первом случае стиль применяется ко всем элементам, у которых значение атрибута начинаются с указанного текста. А во втором — только к определённым селекторам. Использование кавычек не обязательно, но только если значение содержит латинские буквы и без пробелов.

Предположим, что на сайте требуется разделить стиль обычных и внешних ссылок — ссылки, которые ведут на другие сайты. Чтобы не вводить в тег <a> новый класс, воспользуемся селекторами атрибутов. Внешние ссылки характеризуются добавлением к адресу протокола, например, для доступа к гипертекстовым документам используется протокол HTTP. Поэтому внешние ссылки начинаются с ключевого слова http://, его и добавляем к селектору A, как показано в примере 13.3.

Пример 13.3. Изменение стиля внешней ссылки

HTML5CSS 2.1IECrOpSaFx

<!DOCTYPE HTML>
<html>
 <head>
  <meta charset="utf-8">
  <title>Селекторы атрибутов</title>
  <style>
   A[href^="http://"] { 
    font-weight: bold /* Жирное начертание */
   }
  </style>
 </head>
 <body>
  
  <p><a href="1.html">Обычная ссылка</a> | 
  <a href="http://htmlbook.ru" target="_blank">Внешняя 
  ссылка на сайт htmlbook.ru</a></p>
  
 </body>
</html>

Результат примера показан ниже (рис. 13.3).

Рис. 13.3. Изменение стиля для внешних ссылок

В данном примере внешние ссылки выделяются жирным начертанием. Также можно воспользоваться показанным в примере 13.2 приёмом и добавлять к ссылке небольшое изображение, которое будет сообщать, что ссылка ведёт на другой сайт.

Значение атрибута оканчивается определённым текстом

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

[атрибут$="значение"] { Описание правил стиля }
Селектор[атрибут$="значение"] { Описание правил стиля }

В первом случае стиль применяется ко всем элементам у которых значение атрибута завершается заданным текстом. А во втором — только к определённым селекторам.

Таким способом можно автоматически разделять стиль для ссылок на сайты домена ru и для ссылок на сайты других доменов вроде com, как показано в примере 13.4.

Пример 13.4. Стиль для разных доменов

HTML5CSS 2.1IECrOpSaFx

<!DOCTYPE HTML>
<html>
 <head>
  <meta charset="utf-8">
  <title>Селекторы атрибутов</title>
  <style>
   A[href$=".ru"] { /* Если ссылка заканчивается на .ru */
    background: url(images/ru.png) no-repeat 0 6px; /* Добавляем фоновый рисунок */ 
    padding-left: 12px; /* Смещаем текст вправо */ 
   } 
   A[href$=".com"] { /* Если ссылка заканчивается на .com */
    background: url(images/com.png) no-repeat 0 6px; 
    padding-left: 12px;
   }
  </style>
 </head>
 <body>
  
  <p><a href="http://www.yandex.com">Yandex.Com</a> | 
     <a href="http://www.yandex.ru">Yandex.Ru</a></p>
  
 </body>
</html>

В данном примере содержатся две ссылки, ведущие на разные домены — com и ru. При этом к каждой такой ссылке с помощью стилей добавляется своя фоновая картинка (рис. 13.4). Стилевые свойства будут применяться только для тех ссылок, атрибут href которых оканчивается на «.ru» или «.com». Заметьте, что добавив к имени домена слэш (http://www.yandex.ru/) или адрес страницы (http://www.yandex.ru/fun.html), мы изменим тем самым окончание и стиль применяться уже не будет. В этом случае лучше воспользоваться селектором, у которого заданный текст встречается в любом месте значения атрибута.

Рис. 13.4. Добавление картинки к ссылкам

Значение атрибута содержит указанный текст

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

[атрибут*="значение"] { Описание правил стиля }
Селектор[атрибут*="значение"] { Описание правил стиля }

В примере 13.5 показано изменение стиля ссылок, в атрибуте href которых встречается слово «htmlbook».

Пример 13.5. Стиль для разных сайтов

HTML5CSS 2.1IECrOpSaFx

<!DOCTYPE HTML>
<html>
 <head>
  <meta charset="utf-8">
  <title>Селекторы атрибутов</title>
  <style>
   [href*="htmlbook"] { 
    background: yellow; /* Желтый цвет фона */
   }
  </style>
 </head>
 <body>
  <p><a href="http://www.htmlbook.ru/html/">Теги HTML</a> | 
  <a href="http://stepbystep.htmlbook.ru">Шаг за шагом</a> | 
  <a href="http://webimg.ru">Графика для Веб</a></p>
 </body>
</html>

Результат данного примера показан на рис. 13.5.

Рис. 13.5. Изменение стиля для ссылок, в адресе которых встречается «htmlbook»

Одно из нескольких значений атрибута

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

[атрибут~="значение"] { Описание правил стиля }
Селектор[атрибут~="значение"] { Описание правил стиля }

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

Пример 13.6. Стиль в зависимости от имени класса

HTML5CSS 2.1IECrOpSa 5Fx

<!DOCTYPE HTML> 
<html> 
 <head> 
  <meta charset="utf-8"> 
  <title>Блок</title> 
  <style> 
   [class~="block"] h4 { color: green; } 
  </style> 
 </head>  
 <body> 
  <div> 
   <h4>Заголовок</h4> 
  </div> 
 </body> 
</html>

В данном примере зелёный цвет текста применяется к селектору h4, если имя класса у слоя задано как block. Отметим, что аналогичный результат можно получить, если использовать конструкцию *= вместо ~=.

Дефис в значении атрибута

В именах идентификаторов и классов разрешено использовать символ дефиса (-), что позволяет создавать значащие значения атрибутов id и class. Для изменения стиля элементов, в значении которых применяется дефис, следует воспользоваться следующим синтаксисом.

[атрибут|="значение"] { Описание правил стиля }
Селектор[атрибут|="значение"] { Описание правил стиля }

Стиль применяется к элементам, у которых атрибут начинается с указанного значения или с фрагмента значения, после которого идёт дефис (пример 13.7).

Пример 13.7. Дефисы в значениях

HTML5CSS 2.1IECrOpSaFx

<!DOCTYPE HTML>
<html>
 <head>
  <meta charset="utf-8">
  <title>Блок</title>
  <style>
   DIV[class|="block"] {
    background: #306589; /* Цвет фона */
    color: #acdb4c; /* Цвет текста */
    padding: 5px; /* Поля */
   }
   DIV[class|="block"] A {
    color: #fff; /* Цвет ссылок */
   }
  </style>
 </head>
 <body>
  <div>
   <h3>Термины</h3>
   <div>
     <ul>
      <li><a href="t1.html">Буквица</a></li>
      <li><a href="t2.html">Выворотка</a></li>
      <li><a href="t3.html">Выключка</a></li>
      <li><a href="t4.html">Интерлиньяж</a></li>
      <li><a href="t5.html">Капитель</a></li>
      <li><a href="t6.html">Начертание</a></li>
      <li><a href="t7.html">Отбивка</a></li>
     </ul>
   </div>
  </div>
 </body>
</html>

В данном примере имя класса задано как block-menu-therm, поэтому в стилях используется конструкция |="block", поскольку значение начинается именно с этого слова и в значении встречаются дефисы.

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

[атрибут1="значение1"][атрибут2="значение2"] { Описание правил стиля }
Селектор[атрибут1="значение1"][атрибут2="значение2"] { Описание правил стиля }

Вопросы для проверки

1.="text2"] { color: red; }

  • P[class~="text2"] { color: red; }
  • P[class*="text2"] { color: red; }
  • P[class$="text2"] { color: red; }
  • 3. К какому элементу будет применяться следующий стиль?

    [class~="lorem"] { background: #666; }

    1. <p>Lorem ipsum dolor sit amet</p>
    2. <div>Lorem ipsum dolor sit amet</div>
    3. <p>Lorem ipsum dolor sit amet</p>
    4. <div>Lorem ipsum dolor sit amet</div>
    5. <p><span>Lorem ipsum dolor sit amet</span></p>

    Ответы

    1. INPUT[type="text"] { background: #acdacc; }

    2. P[class*="text2"] { color: red; }

    3. <div>Lorem ipsum dolor sit amet</div>

    Селекторы атрибутов - CSS | MDN

    Селекторы атрибутов отбирают элементы по наличию атрибута или его значению.

    [attr]
    Обозначает элемент с атрибутом по имени attr.
    [attr=value]
    Обозначает элемент с именем атрибута attr и значением в точности совпадающим с value.="#"] {background-color:gold} a[href$=".cn"] {color: red;} a[href*="example"] {background-color: #CCCCCC;}
    <div>
        <a href="http://example.com">English:</a>
        <span lang="en-us en-gb en-au en-nz">Hello World!</span>
    </div>
    <div>
        <a href="#portuguese">Portuguese:</a>
        <span lang="pt">Olá Mundo!</span>
    </div>
    <div>
        <a href="http://example.cn">Chinese (Simplified):</a>
        <span lang="zh-CN">世界您好!</span>
    </div>
    <div>
        <a href="http://example.cn">Chinese (Traditional):</a>
        <span lang="zh-TW">世界您好!</span>
    </div>
    

    BCD tables only load in the browser

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

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

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

    
    <h3 rel="friend">David Walsh</h3>

    У этого элемента три атрибута: id, class и rel. Обратиться к этому элементу в CSS вы можете либо по его идентификатору (#first-title), либо по имени класса (.magical). Однако знали ли вы, что вы также можете обратиться к нему, используя атрибут rel? Это и называется селекторы по атрибутам:

    
    h3[rel=friend] {
    	/* woohoo! */
    }

    Существует множество вариантов их использования. Давайте разберёмся более детально с различными опциями и попытаемся придумать сценарии использования атрибутов в реальной жизни.

    [rel=external]

    Атрибут точно соответствует заданному значению

    В приведённом выше примере, атрибут элемента h3 был равен "friend". Селектор, который мы написали ссылался на него, поскольку значение атрибута точно равно "friend". Именно точное. Давайте посмотрим на другой пример:

    
    <h2 rel="external">Attribute Equals</h2>
    h2[rel=external] { color: red; }

    Более реальный пример - стилизация блогролла (blogroll). Скажем у вас есть список ссылок на дружественные сайты:

    
    <a href="http://perishablepress.com">Jeff Starr</a>
    <a href="http://davidwalsh.name">David Walsh</a>
    <a href="http://accidentalninja.net/">Richard Felix</a>

    И вы хотите задать каждой ссылке свой стиль. Традиционный подход состоит в том, что каждой ссылке указывается класс, но этот подход требует дополнительной разметки. Другой способ - это использование псевдоселектора nth-child. Однако этот подход требует определённого порядка элементов. Эта проблема идеально подходит для применения селекторов по атрибутам, поскольку ссылки уже являются уникальными.

    
    a[href=http://perishablepress.com] { color: red; }

    Я уверен, что наиболее часто этот тип селектора используется для элементов input (text, radio и т.п.). Все эти элементы сильно отличаются друг от друга, и писать что-нибудь типа input { padding: 10px; } в большинстве случаев не лучшая идея. Гораздо чаще используется следующая запись:

    input[type=text] { padding: 3px; } input[type=radio] { float: left; }

    Это единственный способ стилизовать элементы input без дополнительной разметки и всяческих ухищрений.

    [rel*=external]

    Атрибут содержит заданное значение.

    Теперь начинаются более интересные вещи. Знаку равенства в селекторе по атрибуту может предшествовать другой знак, который меняет назначение его использования. Например, "*=" означает "заданное значение может находиться где угодно в значении указанного атрибута". Взгляните на следующий пример:

    
    <h2 rel="xxxexternalxxx">Attribute Contains</h2>
    
    h2[rel*=external] { color: red; }

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

    
    <div></div>
    <div></div>
    <div></div>

    Вы можете подсветить все эти элементы следующим образом:

    
    
    div[id*=post] { color: red; }
    [rel^=external]

    Атрибут начинается с заданного значения
    
    <h2 rel="external-link yep">Attribute Begins</h2>
    
    h2[rel^=external] { color: red; }

    Пример из жизни может быть такой: скажем вам необходимо подсветить ссылки на дружественный вам сайт отличным от остальных ссылок цветом.=http://perishablepress.com] { color: red; }

    [rel$=external]

    Атрибут заканчивается на заданное значение

    Если есть возможность сделать выбор по началу значения атрибута, то почему не быть и обратной возможности?

    
    <h2 rel="friend external">Attribute Ends</h2>
    
    h2[rel$=external] { color: red; }

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

    
    a[href$=#], a[href$=?] { color: red; }
    [rel~=external]

    Атрибут находится в списке, разделённом пробелами

    Как вы уже знаете, вы можете указать несколько классов стилей для одного элемента. И если вы делаете именно так, то вы можете использовать имя класса для доступа к элементу в CSS. В случае использования селекторов по атрибуту, не всё так просто. Если атрибуту rel присвоено несколько значений (разделённых пробелами), то вам необходимо использовать "~=";

    
    <h2 rel="friend external sandwich">Attribute Space Separated</h2>
    
    h2[rel~=external] { color: red; }

    Вы можете подумать, почему бы нам не использовать в этом случае "*=" ? Действительно, такой вариант использования более гибок, однако он может быть слишком гибок. Рассматриваемый селектор требует, чтобы значение отделялось пробелом, а "*=" - нет. Таким образом, если у вас есть два элемента (один с rel=home friend-link, а второй с rel=home friend link), то вам необходимо использовать селектор для случая с пробелами, чтобы выбрать только второй элемент.

    [rel|=external]

    Атрибут находится в списке, разделённом дефисами

    Список, разделённый дефисами очень похож на описанный выше список разделённый пробелами. Но опять же есть свои особенности перед использованием селектора с "*=".=Important] { color: red; }

    Поддержка браузерами

    Каждый пример, приведённый выше, работает во всех современных браузерах: Safari, Chrome, Firefox, Opera и IE7 и выше.

    Селекторы атрибутов CSS. Описание и примеры — учебник CSS

    С помощью CSS селекторов атрибутов (англ. attribute selectors) вы можете задавать стиль тем тегам, которые имеют указанные атрибуты. Пример: вы желаете присвоить определенный стиль всем фотографиям, которые имеют атрибут title, не затрагивая все остальные изображения. Делается это просто:

    
    img[title] {
    	width: auto;
    	height: auto;
    }
    

    Как видим, атрибут title записан в квадратных скобках после названия img, затем идет блок объявлений. А что если вам понадобится создать стиль только для тех изображений с атрибутом title, которым присвоен определенный класс, скажем, .gallery? В таком случае это записывается так:

    
    .="https://www.google.com"] {
    	color: green;
    }
    

    Выборка по концу текста

    А может быть вы желаете красиво оформить все ссылки на файлы с расширением .rar? Тогда вам понадобится описать, как выглядит окончание URL:

    
    a[href$=".rar"] {
    	color: #FFF;
    	text-decoration: none;
    	background-color: orange;
    	padding: 5px 10px;
    	cursor: pointer;
    }
    

    Не забудьте указать после названия атрибута символ $, который означает «заканчивается на».

    Итоги

    Селекторы атрибутов в CSS позволяют задавать стиль элементам веб-страницы в зависимости от наличия у них определенных атрибутов.

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

    Можно делать точную выборку элементов веб-страницы по началу или концу текста в значении атрибута.

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

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

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

    Последнее обновление: 21.04.2016

    Кроме селекторов элементов мы также можем использовать селекторы их атрибутов. Например, у нас есть на веб-странице несколько полей input, а нам надо окрасить в красный цвет только текстовые поля. В этом случае мы как раз можем проверять значение атрибута type: если оно имеет значение text, то это текстовое поле, и соответственно его надо окрасить в красный цвет. Определение стиля в этом случае выглядело бы так:

    
    input[type="text"]{
    	
    	border: 2px solid red;
    }
    

    После элемента в квадратных скобках идет атрибут и его значение. То есть в данном случае мы говорим, что для текстового поля надо установить границу красного цвета 2 пикселя толщиной сплошной линией.

    Например:

    
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title>Селекторы атрибутов в CSS3</title>
            <style>
    			input[type="text"]{
    				border: 2px solid red;
    			}
            </style>
        </head>
        <body>
            <p><input type="text" /></p>
    		<p><input type="password" /></p>
    		<input type="submit" value="Send" />
        </body>
    </html>
    

    Селекторы атрибутов можно применять не только к элементам, но и классам и идентификаторам.="https://"]{ color: red; }

    Если значение атрибута должно иметь в конце определенный текст, то для проверки используется символ $. Например, нам надо выбрать все изображения в формате jpg. В этом случае мы можем проверить, оканчивается ли значение атрибута src на текст ".jpg":

    
    img[src$=".jpg"]{
    			
    	width: 100px;
    }
    

    И еще один символ "*" (звездочка) позволяет выбрать все элементы с атрибутами, которые в своем значении имеют определенный текст (не важно где - в начале, середине или конце):

    
    a[href*="microsoft"]{
    			
    	color: red;
    }
    

    Данный атрибут выберет все ссылки, которые в своем адресе имеют текст "microsoft".

    Селектор атрибутов | CSS справочник

    CSS селекторы

    Значение и применение

    С помощью селектора атрибутов вы можете выбрать те элементы страницы, которые имеют конкретные (определенные) атрибуты.

    Поддержка браузерами

    CSS синтаксис:

    [attribute] {
    блок объявлений;
    }
    

    Версия CSS

    CSS2

    Пример использования

    Давайте рассмотрим следующий селектор и попробуем разобраться, что он значит:

    img[title] { /* выбирает все элементы <img> с атрибутом title */
    блок объявлений;
    }
    

    img в данной случае аналогичен селектору типа, т.е выбирает все элементы <img>, а в квадратных скобках мы задаем имя атрибута этого элемента. То есть происходит выборка всех элементов данного типа с определённым атрибутом, в нашем примере это глобальный атрибут title, определяющий текстовую подсказку о содержимом элемента.

    Вы можете использовать селекторы атрибутов не только напрямую к элементам, но и использовать их с прочими селекторами, например с селекторами класса или id селекторами:

    .main[title] { /* выбирает все элементы с классом main и атрибутом title */
    блок объявлений;
    } 
    #main[title] { /* выбирает элемент с идентификатором main и атрибутом title */
    блок объявлений;
    } 
    

    В данном случае первый селектор выбирает все элементы, которые имеют значение глобального атрибута class равным main и глобальным атрибутом title. Второй селектор выбирает элемент, который имеют значение глобального атрибута id равным main и глобальным атрибутом title.

    Рассмотрим следующий пример в котором, мы выберем все элементы <img>, у которых присутствует атрибут alt, который задает альтернативный текст для изображения.

    <!DOCTYPE html>
    <html>
    <head>
    	<meta charset = "UTF-8">
    	<title>Пример использования селектора атрибутов</title>
    <style>
    img { /* выбираем все изображения */
    width: 100px;  /* задаем ширину элемента */
    height: 100px;  /* задаем высоту элемента */
    }
    img[alt] { /* выбираем все изображения с атрибутом alt */
    border: 1px solid green; /* устанавливаем сплошную границу размером 1 пиксель зеленого цвета */
    } 
    </style>
    </head>
    	<body>
    		<img src = "nich.jpg" alt = "nich">
    		<img src = "nich.jpg"> <!-- элемент не будет стилизован (отсутствует атрибут alt) -->
    		<img src = "nich.jpg" alt = "nich">
    	</body>
    </html>
    

    Результат нашего примера:

    Пример использования селектора атрибутов.CSS селекторы

    Тонкости использования селекторов аттрибутов в CSS / Хабр

    CSS может связываться с HTML элементами используя любые из его атрибутов. Вы наверняка знаете о классах и ID. Проверим это в HTML:
    <h3 rel="friend">David Walsh</h3>

    Этот один элемент имеет три аттрибута: ID, class и rel. Для выбора элемента в CSS вы можете использовать селектор ID (#first-title) и селектор class (.magical). Но знаете ли вы, что можно использовать для выбора атрибут rel? Это так называемый селектор атрибута:
    h3[rel=friend] {
      /* woohoo! */
    }


    Существует множество селекторов атрибутов, мы не будем рассматривать все возможные варианты, рассмотрим наиболее полезные сценарии, встречающиеся в реальном мире.
    В примере выше, мы использовали атрибут со значением «friend» у элемента h3. CSS селектор, который мы написали, нацелен на элемент h3, потому что его атрибут rel имеет значение «friend». Другими словами, знак равенства означает точное соответствие. Рассмотрим другие примеры.
    <h2 rel="external">Attribute Equals</h2>

    h2[rel=external] { color: red; }

    Более реальный пример из жизни — это стилизация списка блогов. Например у вас есть список ссылок на сайты друзей:
    <a href="http://perishablepress.com">Jeff Starr</a>
    <a href="http://davidwalsh.name">David Walsh</a>
    <a href="http://accidentalninja.net/">Richard Felix</a>

    Вы хотите сделать различные стили для каждой из ссылок. Традиционный способ — задать каждой ссылке имя класса, но это требует дополнительной разметки, что не всегда хорошо (для семантики и прочего). Другой способ — это использование :nth-child, но для этого потребуется неизменный порядок списка. В данном случае идеальным решением будет использование селекторов атрибутов… Ссылки уже имеют уникальные атрибуты.
    a[href=http://perishablepress.com] { color: red; }

    Я думаю, что чаще всего селекторы атрибутов используют для элементов input. Это text, button, checkbox, file, hidden, image, password, radio, reset и submit. Все они являются элементом <input/> и все они очень разные. Так что делать, что то вроди input {padding: 10px;}, почти всегда плохая идея. Поэтому очень часто можно увидеть, нечто похожее на это:
    input[type=text] { padding: 3px; }
    input[type=radio] { float: left; }

    Это единственный способ получить различные типы инпутов без добавления дополнительной разметки.
    Именно здесь становится более интересно. Знаку равенства в селекторе атрибута могут предшествовать другие символы изменяющие значение. Например, "*=" означает нахождение искомого значения в любом месте значения атрибута. Посмотрим на пример:
    <h2 rel="xxxexternalxxx">Attribute Contains</h2>

    h2[rel*=external] { color: red; }

    Помните, что классы и ID тоже являются атрибутами, и могут быть использованы селектором атрибута. Допустим вы пишете CSS для сайта в котором вы не можете контролировать разметку и разработчики сделали три дива:
    <div></div>
    <div></div>
    <div></div>

    Вы можете выбрать их все:
    div[id*=post] { color: red; }

    <h2 rel="external-link yep">Attribute Begins</h2>

    h2[rel^=external] { color: red; }

    Реальным примером использования может быть случай, когда вам нужно, что бы любая ссылка на сайт друга отличалась от других ссылок.=http://perishablepress.com] { color: red; }
    Это будет соответствовать ссылке на главную и второстепенные страницы.
    Мы можем выбирать основываясь на начальном значении атрибута, почему бы не выбирать с конечного?
    <h2 rel="friend external">Attribute Ends</h2>

    h2[rel$=external] { color: red; }

    Честно говоря, я изо всех сил пытаюсь найти реальный пример использования этого. К примеру вы можете найти ссылки имеющие в конце определенные символы.
    a[href$=#], a[href$=?] { color: red; }

    Вы наверняка знаете, что к элементу можно применять несколько классов. Если вы это сделаете, вы можете использовать .class-name в CSS для связи. В селекторе атрибута не все так просто. Если ваш атрибут имеет несколько значений (например список разделенный пробелами) вам прийдется использовать "~=".
    <h2 rel="friend external sandwich">Attribute Space Separated</h2>

    h2[rel~=external] { color: red; }

    Вы можете подумать, зачем это использовать, когда "*=" найдет то же самое и будет более гибким? Действительно, более универсально, но может быть слишком универсальным.=Important] { color: red; }

    Поддержка браузерами


    Каждый приведенный выше пример работает во всех современных браузерах: Safari, Chrome, Firefox, Opera и IE. Internet Explorer обладает превосходной поддержкой всего этого в 7 версии и нулевой поддержкой в 6 версии. Что бы протестировать в браузере — откройте тестовую страницу. Если строка/селектор красная — значит селектор работает.Селекторы атрибутов

    - CSS: каскадные таблицы стилей

    Селектор атрибута CSS сопоставляет элементы на основе наличия или значения данного атрибута.

     
    Заголовок] {
      цвет: фиолетовый;
    }
    
    
    a [href = "https://example.org"] {
      цвет: зеленый;
    }
    
    
    a [href * = "example"] {
      размер шрифта: 2em;
    }
    
    
    a [href $ = ". org"] {
      стиль шрифта: курсив;
    }
    
    
    a [class ~ = "logo"] {
      отступ: 2 пикселя;
    }
      
    [ attr ]
    Представляет элементы с именем атрибута attr .
    [ attr = value ]
    Представляет элементы с именем атрибута attr , значение которого точно равно значению .
    [ attr ~ = значение ]
    Представляет элементы с именем атрибута attr , значение которого представляет собой список слов, разделенных пробелами, одно из которых точно соответствует значению .
    [ attr | = значение ]
    Представляет элементы с именем атрибута attr , значение которого может быть точно , значением или может начинаться со значения , сразу за которым следует дефис, (U + 002D).= значение ]
    Представляет элементы с именем атрибута attr , значению которого предшествует префикс , значение .
    [ attr $ = значение ]
    Представляет элементы с именем атрибута attr , значение которого имеет суффикс (за которым следует) значение .
    [ attr * = значение ]
    Представляет элементы с именем атрибута attr , значение которого содержит по крайней мере одно вхождение значения в строке.
    [ attr оператор значение i]
    Добавление i (или I ) перед закрывающей скобкой приводит к тому, что значение сравнивается без учета регистра (для символов в диапазоне ASCII).
    [ attr operator value s]
    Добавление s (или S ) перед закрывающей скобкой приводит к тому, что значение сравнивается с учетом регистра (для символов в диапазоне ASCII).= "https"] [href $ = ". org"] { цвет: зеленый; }
    HTML
        
    Результат

    Языки

    CSS
     
    div [lang] {
      font-weight: жирный;
    }
    
    
    div: not ([lang]) {
      стиль шрифта: курсив;
    }
    
    
    div [lang ~ = "en-us"] {
      цвет синий;
    }
    
    
    div [lang = "pt"] {
      цвет: зеленый;
    }
    
    
    div [lang | = "zh"] {
      красный цвет;
    }
    
    
    
    div [data-lang = "zh-TW"] {
      цвет: фиолетовый;
    }
      
    HTML
      
    Привет, мир!
    Olá Mundo!
    您好!
    世界 您好!
    您好!
    Результат

    Упорядоченные списки HTML

    Спецификация HTML требует, чтобы атрибут типа сопоставлялся без учета регистра, поскольку он в основном используется в элементе , пытаясь использовать селекторы атрибутов с атрибутом типа объекта упорядоченный список не работает без модификатора с учетом регистра.

    CSS
     
    ol [type = "a"] {
      список-стиль-тип: нижняя альфа;
      фон: красный;
    }
    
    ol [type = "a" s] {
      список-стиль-тип: нижняя альфа;
      фон: салатовый;
    }
    
    ol [type = "A" s] {
      тип-стиль-список: верхний-альфа;
      фон: салатовый;
    }  
    HTML
      
    1. Пример списка
    Результат

    таблицы BCD загружаются только в браузере

    Селекторы атрибутов - изучение веб-разработки

    Как вы знаете из своего изучения HTML, элементы могут иметь атрибуты, дающие дополнительную информацию о размеченном элементе.В CSS вы можете использовать селекторы атрибутов для нацеливания элементов с определенными атрибутами. Этот урок покажет вам, как использовать эти очень полезные селекторы.

    Эти селекторы позволяют выбрать элемент только на основании наличия атрибута (например, href ) или различных совпадений со значением атрибута.

    Селектор Пример Описание
    [ атрибут ] a [название] Соответствует элементам с атрибутом attr (имя которого указано в квадратных скобках).
    [ attr = значение ] a [href = "https://example.com"] Соответствует элементам с атрибутом attr , значение которого точно равно значению - строке внутри кавычек.
    [ attr ~ = значение ] p [class ~ = "special"]


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

    [ attr | = значение ] div [lang | = "zh"] Соответствует элементам с атрибутом attr , значение которого точно соответствует значению или начинается со значения , сразу за которым следует дефис.

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

    • Используя li [class] , мы можем сопоставить любой селектор с атрибутом класса.Это соответствует всем элементам списка, кроме первого.
    • li [class = "a"] соответствует селектору с классом a , но не селектору с классом a с другим разделенным пробелом классом как частью значения. Он выбирает второй элемент списка.
    • li [class ~ = "a"] будет соответствовать классу a , но также и значению, которое содержит класс a как часть списка, разделенного пробелами. Он выбирает второй и третий элементы списка.= "box-"] Соответствует элементам с атрибутом attr (имя которого указано в квадратных скобках), значение которого начинается со значения . [ attr $ = значение ] li [class $ = "- box"] Соответствует элементам с атрибутом attr , значение которого заканчивается значением . [ attr * = значение ] li [class * = "box"] Соответствует элементам с атрибутом attr , значение которого содержит значение в любом месте строки.= "a"] соответствует любому значению атрибута, которое начинается с и , поэтому соответствует первым двум элементам списка.
    • li [class $ = "a"] соответствует любому значению атрибута, которое заканчивается на a , поэтому соответствует первому и третьему элементу списка.
    • li [class * = "a"] соответствует любому значению атрибута, где a появляется в любом месте строки, поэтому соответствует всем элементам нашего списка.

    Если вы хотите сопоставить значения атрибутов без учета регистра, вы можете использовать значение i перед закрывающей скобкой.Этот флаг сообщает браузеру, что символы ASCII должны совпадать без учета регистра. Без флага значения будут сопоставляться в соответствии с чувствительностью к регистру языка документа - в случае HTML это будет чувствительно к регистру.

    В приведенном ниже примере первый селектор будет соответствовать значению, которое начинается с a - он соответствует только первому элементу списка, потому что два других элемента списка начинаются с верхнего регистра A. Второй селектор использует флаг без учета регистра, и поэтому соответствует всем элементам списка.

    Примечание : существует также более новое значение s , которое будет принудительно выполнять сопоставление с учетом регистра в контекстах, где сопоставление обычно не учитывает регистр, однако это менее хорошо поддерживается в браузерах и не очень полезно в контексте HTML. .

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


    Стили для HTML-элементов с определенными атрибутами

    Можно стилизовать элементы HTML, которые имеют определенные атрибуты или значения атрибутов.


    CSS [атрибут] Селектор

    Селектор [атрибут] используется для выбора элементов с указанным атрибут.

    В следующем примере выбираются все элементы с целевым атрибутом:


    CSS [attribute = "value"] Селектор

    Селектор [attribute = "value"] используется для выбора элементов с указанным атрибут и значение.

    В следующем примере выбираются все элементы с атрибутом target = "_ blank":


    CSS [attribute ~ = "value"] Селектор

    Селектор [attribute ~ = "value"] используется для выбора элементов с атрибутом значение, содержащее указанное слово.

    В следующем примере выбираются все элементы с атрибутом title, который содержит список слов, разделенных пробелами, одно из которых - "цветок":

    В приведенном выше примере будут найдены элементы с title = "flower", title = "summer". flower "и title =" flower new ", но не title =" my-flower "или title =" flowers ".



    CSS [атрибут | = "значение"] Селектор

    Селектор [attribute | = "value"] используется для выбора элементов с указанным атрибутом, начиная с указанного значения.= "value"] Селектор используется для выбора элементов, атрибут значение начинается с указанного значения.

    В следующем примере выбираются все элементы со значением атрибута класса, которое начинается с "top":

    Примечание: Значение не обязательно должно быть целым словом!


    CSS [attribute $ = "value"] Селектор

    Селектор [attribute $ = "value"] используется для выбора элементов, атрибут значение заканчивается указанным значением.

    В следующем примере выбираются все элементы со значением атрибута класса, которое заканчивается на "test":

    Примечание: Значение не обязательно должно быть целым словом!


    CSS [атрибут * = "значение"] Селектор

    Селектор [атрибут * = "значение"] используется для выбора элементов, атрибут value содержит указанное значение.

    В следующем примере выбираются все элементы со значением атрибута класса, которое содержит "te":

    Примечание: Значение не обязательно должно быть целым словом!


    Формы для укладки

    Селекторы атрибутов могут быть полезны для стилизации форм без класса или ID:

    Пример

    ввод [тип = "текст"] {
    ширина: 150 пикселей;
    дисплей: блок;
    нижнее поле: 10 пикселей;
    цвет фона: желтый;
    }

    input [type = "button"] {
    ширина: 120 пикселей;
    маржа слева: 35 пикселей;
    дисплей: блок;
    }

    Попробуй сам "

    Совет: Посетите наше руководство по CSS Forms Tutorial, чтобы узнать больше примеров того, как стилизовать формы с помощью CSS.


    Проверьте себя упражнениями!


    Все селекторы атрибутов CSS

    Селектор Пример Описание примера
    [ атрибут ] [цель] Выбирает все элементы с целевым атрибутом
    [ атрибут = значение ] [target = _blank] Выбирает все элементы с target = "_ blank"
    [ атрибут ~ = значение ] [название ~ = цветок] Выбирает все элементы с атрибутом title, содержащим слово «цветок». = "https"] Выбирает каждый элемент , значение атрибута href которого начинается с https.
    [ атрибут $ = значение ] а [href $ = ".pdf »] Выбирает каждый элемент , значение атрибута href которого заканчивается на ".pdf"
    [ атрибут * = значение ] a [href * = "w3schools"] Выбирает каждый элемент , значение атрибута href которого содержит подстроку «w3schools».


    [атрибут] | CSS-уловки

    Есть много способов выбора элементов в CSS. Самый простой выбор осуществляется по имени тега, например p {} .Почти все, что более специфично, чем селектор тегов, использует атрибуты - class и ID оба выбирают эти атрибуты в элементах HTML. Но class и ID - не единственные атрибуты, которые могут выбрать разработчики. Мы можем использовать любых атрибутов элемента в качестве селекторов.

    Выбор атрибута имеет особый синтаксис. Вот пример:

      a [href = "https://css-tricks.com"] {
      цвет: # E18728;
    }  

    Это селектор с точным соответствием , который будет выбирать только ссылки с точным значением атрибута href «https: // css-tricks.com ».

    Семь различных типов

    Селекторы атрибутов по умолчанию чувствительны к регистру (см. Сопоставление без учета регистра ниже) и записываются внутри скобок [] .

    Существует семь различных типов совпадений, которые можно найти с помощью селектора атрибутов, и для каждого из них используется свой синтаксис. Каждый из более сложных селекторов атрибутов основан на синтаксисе селектора точного соответствия - все они начинаются с имени атрибута и заканчиваются знаком равенства, за которым следует значение (я) атрибута, обычно в кавычках.То, что находится между именем атрибута и знаком равенства, и есть разница между селекторами. = "foo"] { / * Значение атрибута начинается с этого * / } [значение-данных | = "foo"] { / * Значение атрибута начинается с этого в списке, разделенном тире * / } [data-value $ = "foo"] { / * Значение атрибута заканчивается этим * / }

    Значение содержит: значение атрибута содержит термин как единственное значение, значение в списке значений или как часть другого значения.Чтобы использовать этот селектор, добавьте звездочку (*) перед знаком равенства. Например, img [alt * = "art"] выберет изображения с альтернативным текстом «abstract art » и «спортсмен , начинающий новый вид спорта», потому что значение «art» находится в слове «start». ».

    Значение находится в списке, разделенном пробелами: значение является либо единственным значением атрибута, либо целым значением в наборе значений, разделенных пробелами. В отличие от селектора «содержит», этот селектор не будет искать значение как фрагмент слова.= "Искусство"] выберет изображения с альтернативным текстом "арт-шоу" и "художественный узор", но не изображения с альтернативным текстом "Артур Миллер", потому что "Артур" начинается с заглавной буквы.

    Значение стоит первым в списке, разделенном тире: Этот селектор очень похож на селектор «начинается с». Здесь селектор соответствует значению, которое является либо единственным значением, либо первым в списке значений, разделенных тире. Чтобы использовать этот селектор, добавьте вертикальную черту (|) перед знаком равенства.Например, li [data-years | = "1900"] выберет элементы списка со значением data-years , равным «1900-2000», но не элемент списка со значением data-years , равным « 1800-1900 ».

    Значение заканчивается на: значение атрибута заканчивается выбранным термином. Чтобы использовать этот селектор, добавьте знак доллара ($) перед знаком равенства. Например, a [href $ = "pdf"] выбирает каждую ссылку, которая заканчивается на .pdf.

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

    См. Селекторы атрибутов пера от CSS-Tricks (@ css-tricks) на CodePen.

    Интересный факт: значения обрабатываются как строки, поэтому вам не нужно делать какие-либо причудливые экранирования символов, чтобы они совпадали, как если бы вы использовали необычные символы в селекторе классов или идентификаторов.

      [class = "(╯ ° □ °) ╯︵ ┻━┻"] {
      красный цвет;
      font-weight: жирный;
    }  

    Сопоставление без учета регистра

    Селекторы атрибутов без учета регистра являются частью спецификации уровня 4 селекторов рабочей группы CSS.Как упоминалось выше, строки значений атрибутов по умолчанию чувствительны к регистру, но их можно изменить на нечувствительность к регистру, добавив i непосредственно перед закрывающей скобкой:

      [attribute = "value" i] {
      / * Стили здесь будут применяться к элементам с:
        attribute = "значение"
        attribute = "VaLuE"
        attribute = "VALUE"
        ...так далее
      * /
    }  

    Сопоставление без учета регистра может быть действительно удобным для нацеливания на атрибуты, содержащие непредсказуемый, написанный человеком текст.Например, предположим, что вы создаете речевой пузырь в приложении чата и хотите добавить «машущую руку» к любым сообщениям с текстом «привет» в той или иной форме. Вы можете сделать это только с помощью CSS, используя сопоставление без учета регистра, чтобы уловить все возможные варианты:

    См. Сопоставление атрибутов CSS без учета регистра в ручке с помощью CSS-Tricks (@ css-tricks) на CodePen.

    Объединяя их

    Вы можете комбинировать селектор атрибутов с другими селекторами, такими как тег, класс или идентификатор.

      div [attribute = "value"] {
      / * здесь правила стиля * /
    }
    
    .модуль [атрибут = "значение"] {
      / * здесь правила стиля * /
    }
    
    #header [attribute = "value"] {
      / * здесь правила стиля * /
    }  

    Или даже комбинируйте несколько селекторов атрибутов. В этом примере выбираются изображения с замещающим текстом, который включает слово «человек» в качестве единственного значения или значение в списке, разделенном пробелами, и - значение src , которое включает значение «lorem»:

      img [alt ~ = "person"] [src * = "lorem"] {
      / * здесь правила стиля * /
    }  

    См. Комбинированные атрибуты пера и выбор только атрибутов с помощью CSS-трюков (@ css-tricks) на CodePen.

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

    Селекторы атрибутов могут использоваться в jQuery, как и любой другой селектор CSS. В JavaScript вы можете использовать селекторы атрибутов с document.querySelector () и document.querySelectorAll () .

    См. Селекторы атрибутов пера в JS и jQuery от CSS-Tricks (@ css-tricks) на CodePen.

    Связанные

    Дополнительная информация

    Поддержка браузера

    Хром Safari Firefox Opera IE Android iOS
    Любая Любые любой Любые 7+ любой любой

    Работа с селекторами атрибутов CSS

    Селектор атрибутов выбирает элементы HTML, которые имеют определенный атрибут или атрибут с указанным значением.

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

    Селекторы атрибутов CSS предоставляют простой и эффективный способ применения стилей к элементам HTML на основе наличия определенного атрибута или значения атрибута.

    Вы можете создать селектор атрибутов, поместив атрибут - необязательно со значением - в пару квадратных скобок. Вы также можете поместить перед ним селектор типа элемента.

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

    CSS [атрибут] Селектор

    Это простейшая форма селектора атрибутов, которая применяет правила стиля к элементу, если данный атрибут существует. Например, мы можем стилизовать все элементы с атрибутом title , используя следующие правила стиля:

    Селектор [заголовок] в приведенном выше примере соответствует всем элементам, имеющим атрибут заголовок .

    Вы также можете ограничить этот выбор конкретным элементом HTML, поместив селектор атрибутов после селектора типа элемента, например:

      abbr [название] {
        красный цвет;
    }  

    Селектор abbr [title] соответствует только элементам с атрибутом title , поэтому он соответствует сокращению, но не элементам привязки, имеющим атрибут title .


    CSS [attribute = "value"] Селектор

    Вы можете использовать оператор = , чтобы селектор атрибутов соответствовал любому элементу, значение атрибута которого точно равно заданному значению:

      input [type = "submit"] {
        граница: сплошной зеленый 1px;
    }  

    Селектор в приведенном выше примере соответствует всем элементам , имеющим атрибут типа со значением, равным submit .


    CSS [attribute ~ = "value"] Селектор

    Вы можете использовать оператор ~ = , чтобы селектор атрибутов соответствовал любому элементу, значение атрибута которого представляет собой список значений , разделенных пробелами (например, class = "alert warning" ), одно из которых в точности равно указанное значение:

      [class ~ = "warning"] {
        цвет: #fff;
        фон: красный;
    }  

    Этот селектор соответствует любому элементу HTML с атрибутом класса , который содержит значения, разделенные пробелами, одним из которых является предупреждение .Например, он соответствует элементам, имеющим значения класса предупреждение , предупреждение предупреждение и т. Д.


    CSS [атрибут | = "значение"] Селектор

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

      [lang | = en] {
        цвет: #fff;
        фон: синий;
    }  

    Селектор в приведенном выше примере соответствует всем элементам, имеющим атрибут lang , содержащий значение, начинающееся с и , независимо от того, следует ли за этим значением дефис и другие символы.= "http: //"] { фон: url ("external.png") 100% 50% без повтора; отступ справа: 15 пикселей; }

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


    CSS [attribute $ = "value"] Селектор

    Аналогичным образом можно использовать оператор $ = для выбора всех элементов, значение атрибута которых заканчивается на , указанное значение.Это не обязательно должно быть целое слово.

      a [href $ = ". Pdf"] {
        фон: url ("pdf.png") 0 50% без повтора;
        отступ слева: 20 пикселей;
    }  

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


    CSS [атрибут * = "значение"] Селектор

    Вы можете использовать оператор * = , чтобы селектор атрибутов соответствовал всем элементам, значение атрибута которых содержит указанное значение.

      [class * = "warning"] {
        цвет: #fff;
        фон: красный;
    }  

    Этот селектор в приведенном выше примере соответствует всем элементам HTML с атрибутом класса , значения которого содержат предупреждение .Например, он соответствует элементам, имеющим значения класса warning , alert warning , alert-warning или alert_warning и т. Д.


    Стилизация форм с селекторами атрибутов

    Селекторы атрибутов особенно полезны для стилизации форм без class или id :

      input [type = "text"], input [type = "password"] {
        ширина: 150 пикселей;
        дисплей: блок;
        нижнее поле: 10 пикселей;
        фон: желтый;
    }
    input [type = "submit"] {
        отступ: 2px 10px;
        граница: 1px solid # 804040;
        фон: # ff8040;
    }  

    CSS | Селектор атрибутов - GeeksforGeeks

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

    Селектор атрибутов CSS используется для выбора элемента с определенным атрибутом или значением атрибута.Это отличный способ стилизовать элементы HTML, сгруппировав их на основе определенных атрибутов, и селектор атрибутов выберет эти элементы с похожими атрибутами.
    Существует несколько типов селекторов атрибутов, которые обсуждаются ниже:

    • [атрибут] Селектор: Этот тип селектора атрибутов используется для выбора всех элементов, которые имеют указанный атрибут, и применяет свойство CSS к этому атрибуту. Например, селектор [класс] выберет все элементы с атрибутом стиля.

      Пример:

      < html >

      000 title > Селектор атрибутов title >

      < style >

      [class] {

      center;

      Цвет: зеленый;

      }

      .gfg {

      font-size: 40px;

      font-weight: жирный;

      нижнее поле: -20 пикселей;

      }

      стиль >

      головка >

      < div класс = "gfg" > GeeksforGeeks div >

      geeks " > Портал информатики для вундеркиндов p >

      body >

      html>

      Вывод:

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

      С помощью оператора запятой можно выбрать несколько элементов.

       h3, p [style] {
          цвет фона: # 00b93e;
      } 
    • [attribute = «value»] Селектор: Этот селектор используется для выбора всех элементов, атрибут которых имеет значение, точно такое же, как указанное значение.

      Пример:

    • < html >

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

      < style >

      div [style] {

      center;

      цвет: зеленый;

      font-size: 40px;

      font-weight: жирный;

      нижнее поле: -20 пикселей;

      }

      p {

      выравнивание текста: по центру;

      font-size: 17px;

      }

      стиль >

      головка >

      < div style = «цвет: зеленый» > GeeksforGeeks div >

      Portal Science <9000 для вундеркиндов p >

      корпус >

      html >

      0001 00

      < html >

      000 title > Селектор атрибутов title >

      < style >

      [title = "gfg"] { цвет: цвет ;

      font-size: 40px;

      font-weight: жирный;

      выравнивание текста: по центру;

      }

      [title = "geeks"] {

      font-size: 17px;

      выравнивание текста: по центру;

      margin-top: 0px;

      }

      стиль >

      головка >

      < div title = "gfg" > GeeksforGeeks div >

      geeks " > Портал информатики для вундеркиндов p >

      body >

      html>

      Выход:

    • [атрибут ~ = "значение"] Селектор: Этот селектор используется для выбора всех элементов, значение атрибута которых представляет собой список значений, разделенных пробелами, одно из которых точно равно указанному значению.

      Пример:

      < html >

      000 title > Селектор атрибутов title >

      < style >

      [class ~ = "gfg"] { 0005 color: 0005 color зеленый;

      font-size: 40px;

      font-weight: жирный;

      выравнивание текста: по центру;

      }

      [class ~ = "geeks"] {

      font-size: 17px;

      выравнивание текста: по центру;

      margin-top: 0px;

      }

      стиль >

      головка >

      < div класс = «gfg» > GeeksforGeeks div >

      geeks " > Портал информатики для вундеркиндов

      div >

      < div class = " geeks = GeeksforGeeks - платформа кодирования

      div >

      body >

      html >

      3 Выходное значение: 9303

      Значение

      3 Выход:

      атрибут ”] Селектор: Этот селектор используется для выбора всех элементов, атрибут которых имеет разделенный дефисом список значений, начинающийся с указанного значения.Значение должно быть целым словом либо отдельно, либо с дефисом.

      Пример:

      < html >

      000 title > Селектор атрибутов title >

      < style >

      [class | = "gfg"] { 0005 цвет: 0005 цвет зеленый;

      font-size: 40px;

      font-weight: жирный;

      выравнивание текста: по центру;

      }

      [class | = "geeks"] {

      font-size: 17px;

      выравнивание текста: по центру;

      margin-top: 0px;

      }

      стиль >

      головка >

      < div класс = «gfg» > GeeksforGeeks div >

      geeks-ide " > Портал по информатике для вундеркиндов

      div >

      < div ide = =" geeks-ide = > GeeksforGeeks - платформа кодирования

      div 9 0008 >

      body >

      html >

      0003
      11: Выход value ”] Селектор:
      Этот селектор используется для выбора всех элементов, значение атрибута которых начинается с указанного значения. = "geeks"] {

      font-size: 17px;

      выравнивание текста: по центру;

      margin-top: 0px;

      }

      стиль >

      головка >

      < div класс = «gfg» > GeeksforGeeks div >

      geeks " > Портал информатики для гиков

      div >

      < div class = eks" geeks платформа кодирования

      div >

      тело >

      html >

      3 Выходное значение:

      Значение атрибута ”] Селектор: Этот селектор используется для выбора всех элементов, значение атрибута которых заканчивается указанным значением.Значение не обязательно должно быть целым словом.

      Пример:

      < html >

      000 title > Селектор атрибутов title >

      < style >

      [class $ = "gfg"] { 0005 color: 0005 color зеленый;

      font-size: 40px;

      font-weight: жирный;

      выравнивание текста: по центру;

      }

      [class $ = "geeks"] {

      font-size: 17px;

      выравнивание текста: по центру;

      margin-top: 0px;

      }

      стиль >

      головка >

      < div класс = «gfg» > GeeksforGeeks div >

      geeksforgeeks " > Портал информатики для вундеркиндов

      div >

      < div 000e 000" geforks 000> платформа кодирования

      div 90 008 >

      body >

      html >

      0003
      1: Выход value ”] Селектор:
      Этот селектор выбирает все элементы, значение атрибута которых содержит указанное значение, присутствующее где угодно.Значение не обязательно должно быть целым словом.

      Пример:

      < html >

      000 title > Селектор атрибутов title >

      < style >

      [class * = "gfg"] { 0005 color зеленый;

      font-size: 40px;

      font-weight: жирный;

      выравнивание текста: по центру;

      }

      [class * = "for"] {

      font-size: 17px;

      выравнивание текста: по центру;

      margin-top: 0px;

      }

      стиль >

      головка >

      < div класс = «gfg» > GeeksforGeeks div >

      geeksforgeeks " > Портал информатики для вундеркиндов

      div >

      < div 000" для класса > GeeksforGeeks - платформа кодирования

      di v >

      body >

      html >

      9000 9027 Справочник по продукту: 9027 29000 9027 Справочник по продукту : Селекторы атрибутов

      В HTML мы используем атрибуты для передачи информации или дополнительных параметров элементам DOM.Эти атрибуты можно использовать в CSS для нацеливания на определенные элементы для быстрой стилизации.

      Перейти вперед:

      Рассмотрим следующий пример:

       
      Привет

      Элемент div имеет три атрибута: class , id и disabled со значениями "flex-item" , "flexm" и true соответственно.

      Селекторы атрибутов нацелены на определенный селектор в HTML на основе атрибута элемента.


      [attr]

      Селектор [attr] выбирает элемент или элементы с атрибутом attr .

       div [test] {
          красный цвет;
      } 

      В этом примере элементы div будут стилизованы с атрибутом test красного цвета.

       p [цель] {
          радиус границы: 3 пикселя;
          отступ: 10 пикселей;
      } 

      Этот селектор сопоставит все элементы p с атрибутом target и сделает их border-radius 3px и padding 10px.

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


      [attr = "value"]

      Этот селектор более специфичен для атрибута и его значения. Он будет соответствовать всем элементам с атрибутом attr , которые имеют значение , значение .

      Рассмотрим пример ниже:

       div [test = "testing"] {
          цвет: помидор;
      } 

      Это выберет все элементы div , которые имеют атрибут test со значением «testing» .= "test"] { цвет: помидор; }

      Это выберет элементы div с атрибутом test , значения которого начинаются с «test» .

       
      1
      2
      3

      Здесь будут выбраны только блоки 1 и 2, поскольку они имеют атрибутов test , значения которых начинаются с «test» . Div 1 не выбран, поскольку значение его атрибута test не начинается с "test" .


      [attr $ = "значение"]

      Это также селектор совпадающего шаблона. Он выбирает элементы с атрибутом attr , которые имеют значение, оканчивающееся на , значение .

      Вот пример:

       div [test $ = "ing"] {
          цвет: зеленый;
      } 

      Этот селектор будет соответствовать всем элементам div с атрибутом test , значение которого заканчивается на "ing" .

       
      1
      2
      3

      Селектор сопоставляет только блоки 1 и 2, поскольку они имеют атрибут test , а их значения заканчиваются на "ing" .На Div 3 это не повлияет.


      [attr * = "значение"]

      Другой селектор подходящего шаблона, он проверяет значение содержащего атрибута. Этот селектор будет выбирать элементы с атрибутом attr со значением, содержащим значение .

       div [test * = "val"] {
          цвет: бирюзовый;
      } 

      В приведенном выше примере мы выбираем все элементы div с атрибутом test , значения которого содержат строку "val" .

       
      1
      2
      3
      4

      У нас есть четыре элемента div, все с атрибутом "test" . Теперь, после селектора CSS, будут затронуты только блоки 1, 3 и 4. Их значения атрибута "test" содержат строку "val" ; div 2 не будет затронут, поскольку его значение атрибута "test" не содержит строки "val" .


      [attr ~ = "значение"]

      Этот селектор предназначен для значений атрибутов, разделенных пробелами. Он выбирает элементы, чей список значений атрибута attr соответствует "значению" .

       div [test ~ = "val"] {
          цвет: оранжево-красный;
      } 

      В приведенном выше примере селектор будет влиять на элементы div с атрибутом "test" , списки значений которого соответствуют "val" .

       
      1
      2
      3
      4
      5
      6

      Здесь будут выбраны только блоки 2 и 6.Это связано с тем, что одно из их дискретных значений атрибута "test" - "val" . Div 1, 3, 4 и 5 не будут затронуты, потому что их значения атрибута "test" не имеют значений, разделенных пробелами, которые соответствуют "val" .


      [attr | = "значение"]

      Выбираются элементы, атрибут которых равен attr , а значение равно "значение" или значение которого сразу следует за дефисом, .

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

       div [lang | = "en"] {
          цвет: салатовый;
      } 

      При этом будут выбраны элементы div с атрибутом lang , значения которого равны "en" или "en-" с дефисом.

       
      английский (en)
      английский (en-EN)
      Испания (а)
      Испания (es-ES)

      Divs English (en) и English (en-EN) будут выбраны, потому что они содержат "en" и "en-" , соответственно.


      Живой пример

      Вы можете изучить реализацию различных селекторов в демонстрации ниже.

      См. Атрибуты CSS Pen
      от Chidume David (@ philipsz-davido)
      на CodePen.

      Ваш интерфейс загружает процессор ваших пользователей?

      По мере того, как веб-интерфейсы становятся все более сложными, ресурсоемкие функции требуют все большего и большего от браузера. Если вы заинтересованы в мониторинге и отслеживании использования ЦП на стороне клиента, использования памяти и многого другого для всех ваших пользователей в производственной среде, попробуйте LogRocket.https://logrocket.com/signup/

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

      Модернизируйте отладку веб-приложений - начните мониторинг бесплатно.

      .
    Оставить комментарий

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

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    © 2019 Штирлиц Сеть печатных салонов в Перми

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