header ¡dios mio, esta lleno de estrellas..!

Publicidad




Pseudo-clases en CSS (I) :first-child

Mediante las pseudo-clases de CSS2 podemos acceder a un elemento XHTML a partir de atributos que no aparecen en nuestro marcado, ni pueden deducirse de la estructura del documento, a excepción de first-child.

Si, como lo oyes, una pseudo-clase no esta representada en nuestro código XHTML en forma alguna, entre otras cosas por que son dinámicas. Esto quiere decir que una pseudo-clase determinada apuntará a un elemento solo en algunos momentos. Ahora si, ahora no.

Por ejemplo, si queremos incluir un enlace en nuestra página, escribimos algo asi:

HTML:
  1. <a href="http://www.google.com">ir a google</a>

Si observamos nuestro código, veremos que no aparece niguna referencia al estado del enlace, es decir, no podemos saber a priori, si ya ha sido visitado, o si alguien ha pasado el puntero del ratón sobre el.

También podemos decir, que una pseudo-clase apuntará o no a un elemento dependiendo de como interactue el usuario con nuestra página.

Existen siete pseudo-clases en CSS, pero en este artículo nos centraremos solo en la primera de ellas.

La pseudo-clase :first-child

first-child es la única pseudo-clase que se puede inferir de la estructura del documento. Funciona si el elemento en cuestión es el primer hijo de otro elemento.

Veamos como funciona con pequeño ejemplo:

el marcado:

HTML:
  1.     <p> párrafo uno </p>
  2.     <div class="nota">
  3.        <p> párrafo dos </p>
  4.        <p> párrafo tres </p>
  5.     </div>
  6.     <p> párrafo cuatro </p>
  7. </body>

el estilo:

CSS:
  1. p:first-child {
  2.         color:red;
  3.     }

Si usais un navegador compatible con los estandares, podreis ver como los párrafos uno y dos se colorean de rojo. El primer párrafo es el primer hijo de la etiqueta body y el segundo lo es de la etiqueta div.

Si lo que deseamos es seleccionar, por ejemplo, solo los párrafos que sean primeros hijos de una capa div, podríamos usar una regla como esta:

CSS:
  1. div p:first-child {
  2.         color:red;
  3.     }

Llegados a este punto es importante saber que CSS no considera las cajas anónimas como elementos de pleno derecho, así que simplemente las ignora.

HTML:
  1.     <p> párrafo uno </p>
  2.     <div class="nota">
  3.        esto es una caja anónima.
  4.        <p> párrafo dos </p>
  5.        <p> párrafo tres </p>
  6.     </div>
  7.     <p> párrafo cuatro </p>
  8. </body>

Con este código XHTML y la regla CSS anterior se sigue coloreando el párrafo 2.

Problemas con IE

Otra vez malas noticias. IE, al menos en las versiones que he testeado hace caso omiso de esta pseudo-clase. Y por lo que he leido por ahí, la versión 7 de nuestro navegador favorito tampoco esta por la labor...

No se por que me sorprendo.

archivado por hari en css
el 07 dEurope/Berlin Septiembre dEurope/Berlin 2006
puedes escribir un comentario
o leer los 2 que ya existen

Comentarios

  1. 1

    En inglés, algo similar que puede ser muy útil, ahora en IE7:
    http://www.communitymx.com/content/article.cfm?cid=1C603


    23 Enero 2007 Faraon
  2. 2

    […] Pseudo-clases en CSS Posted Marzo 30, 2008 Pseudo-clases en CSS (I) :first-child (En realidad es un pseudo-elemento, no una pseudo-clase) […]

Añade tu opinión

*

*