--- title: Sélecteurs d'attribut slug: Web/CSS/Attribute_selectors tags: - CSS - Débutant - Reference - Sélecteur translation_of: Web/CSS/Attribute_selectors original_slug: Web/CSS/Sélecteurs_d_attribut ---
Les sélecteurs d'attribut permettent de cibler un élément selon la présence d'un attribut ou selon la valeur donnée d'un attribut.
/* Les éléments <a> avec un attribut title */
a[title] {
color: purple;
}
/* Les éléments <a> avec un href qui correspond */
/* à "https://example.org" */
a[href="https://example.org"] {
color: green;
}
/* Les éléments <a> dont href contient "example" */
a[href*="example"] {
font-size: 2em;
}
/* Les éléments <a> dont href finit par ".org" */
a[href$=".org"] {
font-style: italic;
}
/* Les éléments <a> dont l'attribut class contient le mot logo */
/* comportement identique à a.logo */
a[class~="logo"] {
padding: 2px;
}
[attr]attr.[attr=valeur]attr dont la valeur est exactement valeur.[attr~=valeur]attr dont la valeur est valeur. Cette forme permet de fournir une liste de valeurs, séparées par des blancs, à tester. Si au moins une de ces valeurs est égale à celle de l'attribut, l'élément sera ciblé.[attr|=valeur]attr dont la valeur est exactement valeur ou dont la valeur commence par valeur suivi immédiatement d'un tiret (U+002D). Cela peut notamment être utilisé pour effectuer des correspondances avec des codes de langues.[attr^=valeur]attr dont la valeur commence par valeur.[attr$=valeur]attr dont la valeur se termine par valeur.[attr*=valeur]attr et dont la valeur contient au moins une occurrence de valeur dans la chaîne de caractères.[attr operateur valeur i]i (ou I) avant le crochet de fin. Dans ce cas, la casse ne sera pas prise en compte (pour les caractères contenus sur l'intervalle ASCII).[attr operateur valeur s] {{experimental_inline}}s (ou S) avant le crochet fermant permettra d'effectuer une comparaison de valeur sensible à la casse (pour les caractères ASCII).a {
color: blue;
}
/* Liens internes commençant avec "#" */
a[href^="#"] {
background-color: gold;
}
/* Liens avec "example" n'importe où dans l'URL */
a[href*="example"] {
background-color: silver;
}
/* Liens avec "insensitive" n'importe où dans l'URL,
quelle que soit la casse */
a[href*="insensitive" i] {
color: cyan;
}
/* Liens avec "cAsE" n'importe où dans l'URL,
et avec cette casse donnée.*/
a[href*="cAsE" s] {
color: pink;
}
/* Liens qui finissent ".org" */
a[href$=".org"] {
color: red;
}
<ul> <li><a href="#internal">Lien interne<a></li> <li><a href="http://example.com">Lien d'exemple</a></li> <li><a href="#InSensitive">Lien interne insensible à la casse</a></li> <li><a href="http://example.org">Lien vers example.org</a></li> </ul>
{{EmbedLiveSample("Liens")}}
/* Tous les éléments divs avec un attribut `lang` seront en gras. */
div[lang] {
font-weight: bold;
}
/* Tous les divs en anglais américains seront bleus. */
div[lang~="en-us"] {
color: blue;
}
/* Tous les divs en portugais seront verts. */
div[lang="pt"] {
color: green;
}
/* Tous les divs en chinois seront rouges (chinois
simplifié (zh-CN) ou traditionnel (zh-TW). */
div[lang|="zh"] {
color: red;
}
/* Tous les divs en chinois traditionnels pour l'attribut
`data-lang` seront violet. */
/* Note : Les doubles quotes ne sont pas strictement nécessaires
ici */
div[data-lang="zh-TW"] {
color: purple;
}
<div lang="en-us en-gb en-au en-nz">Hello World!</div> <div lang="pt">Olá Mundo!</div> <div lang="zh-CN">世界您好!</div> <div lang="zh-TW">世界您好!</div> <div data-lang="zh-TW">世界您好!</div>
{{EmbedLiveSample("Langues")}}
{{SeeCompatTable}}
La spécification HTML indique que l'attribut {{htmlattrxref("type", "input")}} doit être testé sans sensibilité à la casse car il est généralement utilisé avec l'élément {{HTMLElement("input")}}. Si on souhaite utiliser un sélecteur d'attribut avec {{htmlattrxref("type", "ol")}} d'une liste ordonnée ({{HTMLElement("ol")}}), cela ne fonctionnera pas sans le modificateur de sensibilité à la casse.
/* Les types de liste devront être utilisé avec le
marqueur pour la casse vu les spécifications HTML */
ol[type="a"] {
list-style-type: lower-alpha;
background: red;
}
ol[type="a" s] {
list-style-type: lower-alpha;
background: lime;
}
ol[type="A" s] {
list-style-type: upper-alpha;
background: lime;
}
<ol type="A"> <li>Liste d'exemple</li> </ol>
{{EmbedLiveSample("Listes_ordonnées")}}
| Spécification | État | Commentaires |
|---|---|---|
| {{SpecName('CSS4 Selectors', '#attribute-selectors', 'attribute selectors')}} | {{Spec2('CSS4 Selectors')}} | Ajout du modification pour la sélection des valeurs d'attribut ASCII insensible à la casse. |
| {{SpecName('CSS3 Selectors', '#attribute-selectors', 'attribute selectors')}} | {{Spec2('CSS3 Selectors')}} | |
| {{SpecName('CSS2.1', 'selector.html#attribute-selectors', 'attribute selectors')}} | {{Spec2('CSS2.1')}} | Définition initiale. |
{{Compat("css.selectors.attribute")}}