20
May

Novedades CSS3: selector atributo

Web - CSS - 1861 lecturas

Selector de atributo

Permite seleccionar un elemento en base a la presencia de un atributo y de su valor. En CSS 2.1 existían 4 variantes de este tipo de selector. En CSS 3 se han añadido 3 más. A continuación se muestran ejemplos de uso de cada uno de ellos.


[att]{...}

Representa un elemento con el atributo att, sea cual sea su valor. Por ejemplo:

h1 [title]{ ... }  /* aplica a todos los <h1> con el atributo title establecido */

ver en acción


[att=val]{...}

Representa un elemento cuyo valor del atributo att es val. Por ejemplo:

a[hreflang="es"]{ ... } 
/* aplica a los <a> cuyo atributo hreflang es exáctamente "es" */

libro[autor="Pepito"][aniopub="2010"] { ... }
/* aplica a todos los <libro> cuyo atributo autor es exáctamente "Pepito" y aniopub es "2010" */

 

[att˜=val]{...}

Representa un elemento cuyo valor de atributo att contiene una lista de palabras separadas por espacios en blanco, una de las cuales es  val. Por ejemplo:

a[rel~="copyright"] { ... }
/* aplica a <a> cuyo atributo rel contiene el valor “copyright” */

ver en acción


[att|=val]{...}

Representa un elemento cuyo valor de atributo att es val o val-. Por ejemplo:

a[hreflang|="es"] { ... }
/* aplica a <a> cuyo atributo hreflang contiene el valor “es” o "es-" */




Nuevos selectores de atributo en  CSS 3

CSS 3 introduce 3 nuevas variantes del selector de atributo. Éstas son:

[att^=val]{...}

Representa un elemento cuyo atributo att comienza con el prefijo val. Por ejemplo:

object[type^="image/"]
/* aplica a <object> cuyo atributo type comienza con el valor “image” */

ver en acción


[att$=val]{...}

Representa un elemento cuyo atributo att termina con el sufijo val. Por ejemplo:

a[href$=".html"]
/* aplica a <a> cuyo atributo href termina con el valor “.html” */

ver en acción


[att*=val]{...}

Representa un elemento cuyo atributo att presenta por lo menos una aparición de la subcadena val. Por ejemplo:

p[title*="hello"]
/* aplica a <p> cuyo atributo title contiene alguna aparición de la caden "hello" */

ver en acción