(Material adaptado y traducido de https://developer.mozilla.org/en-US/docs/Web/CSS/Attribute_selectors)
Hemos visto en los materiales de la asignatura selectores del estilo [atributo]
, que reprenta los elementos con un atributo de nombre atributo
y [atributo=valor]
, que representan, naturalmente, los elementos con atributo atributo
con valor exactamente valor
.
Pero disponemos de otros selectores relacionados a través de correspondencia de patrones (pattern matching):
[atributo~=valor]
- Representa los elementos con un atributo
atributo
cuyo valor sea una lista de palabras separadas por espacios y uno de los cuales sea exactamentevalor
. [atributo|=valor]
- Representa los elementos con un atributo
atributo
y valor exactamentevalor
o que comience porvalor
seguido inmediatamente de un guión-
(U+002D). [atributo^=valor]
- Representa los elementos con un atributo
atributo
y valor comenzando porvalor
. [atributo$=valor]
- Representa los elementos con un atributo
atributo
y valor acabando envalor
. [atributo*=valor]
- Representa los elementos con un atributo
atributo
y valor conteniendovalor
.
Así, por ejemplo:
/* Pone en negrita todos los spans con atributo "lang" */
span[lang] {font-weight:bold;}
/* Pone en verde todos los spans en que se haya
especificado idioma portugués */
span[lang="pt"] {color:green;}
/* Pone en rojo los spans en que se haya especificado
idioma chino, tanto simplificado (zh-CN) como
tradicional (zh-TW) */
span[lang|="zh"] {color: red;}
/* Da fondo dorado a todos los enlaces que especifiquen
un identificador */
a[href^="#"] {background-color:gold}
/* Pone en rojo todos los enlaces que acaben en ".cn" */
a[href$=".cn"] {color: red;}
/* Da fondo gris a todos los enlaces que
contengan la cadena "example" */
a[href*="example"] {background-color: #CCCCCC;}