Cristalab

                 ¿Quieres registrarte?

Pseudoclases, pseudoelementos y la propiedad content de CSS

Por: RattaMono
29 de Diciembre del 2007
1330 de clabLevel
Otros artículos de RattaMono
5,198 visitas
css

En este tip veremos cómo podemos aplicar estilos CSS de una manera más interactiva usando pseudo-clases y pseudo-elementos, que usaremos para aplicar propiedades específicas a los elementos con los que interactúa el usuario.

En los navegadores basados en el motor Gecko (como Mozilla y Opera), se puede usar la propiedad 'content' de CSS para añadir contenido (como veremos en el ejemplo, más adelante).

También en estos mismos navegadores, se puede usar el pseudo-elemento ':before' para seleccionar, como su nombre lo dice, un espacio antes a la etiqueta a la que se le pone ese pseudo-elemento.

Las pseudo-clases y pseudo-elementos no son nada mas que selectores, cada uno de ellos actúa según lo que el mismo diga. He aquí una lista de ellos:

Pseudo-elementos:




Pseudo-clases:


Las pseudo-clases deben serles mas conocidas, en ellas encontraremos cosas que tal vez ya hemos usado, como :hover ó :link. He aquí una lista de ellas:


La sintaxis para ambos es

Código :

elemento:pseudo-clase:pseudo-elemento {
   propiedad: valor
}


Ahora veamos la utilidad real de esto.
¿Queremos hacer una lista con un carácter personalizado?
No hay problema, buscamos nuestro carácter favorito, lo transformamos a HTML (Se puede obviar este paso, pero para asegurarnos de una correcta visualización los transformamos a HTML) y ponemos el siguiente código:

Código :

ul li:before {
   content: "/2A";
}

Daría como resultado una lista con unos lindos asteriscos.

¿Y si queremos usar imágenes?
No hay problema, codificamos nuestra imagen a base64 y colocamos algo como:

Código :

a:visited:after {
   content: "data:image/x-icon;base64,R0lGODlhEAAQAPfLAAATVikwdA8SnxUfgAsWpAAilholjxw4jBc7kwAlvQQ2sRMsoBUqqhMzuhY/vxw4tSgmiyM1mSUztiQ6sTE3sQ4qyxMxxRoyxiAuxR1CtBxJsBxasSJuuTFguBte0Rlf2xVc9h9W9xVjzxVr0gdj6BRh4R1o5yBcyiZbyydT1i9b2Ddb1iFY6CJg2Vpor1dzvEJu20Z0yi23QDy1REi2OUy0O1WzOVC4PU+tVUe5Sk2xQU2zRUO4UE21Ula2SmKEqWWF2HyPx2+a6X6e6Xqk1m+s78sUDs4UGdEQB9YfDdwaANEfHd0YEscjAM4mAM0qANIoD9IkGdslGswuItYgL4aP0ImP2YGZ36Opzaq2wq/S+rzX/7/e8MrS1MLO/sTb48rT8snX/83c89PZ+crq+cH1/9Dl/9Ln/93r/9fy/+Hf7P/42eDm/O7u/+T29uX2/eT2/+f4/+f5/+j/9u//8+3/9u7/9ur5/+j//+n//+v//u3//+7//e7//+////b66/T/6vX/6/f/7f/07fj/4fv/4Pj/5v/45v7/4/r+7/3/6fDw+Pfx//D/9/X/8fT/8/f/8ff/8/D///H///L8/fL///P///X7//b6/ff/+/T///b9//f///v19//w9v/09P/29v/x+f/y///z///1+v/1///2///3//j79P/58/z/8/z99/z/9v7/9P7/9vn7//v6//j9//n9//j///n///v//vv////4+v/5+//6+P/4///6/P/6/v/6///7///9+P/8+v/9+v7/+Pz////8/f/9/f79///8///9//7//////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAMsALAAAAAAQABAAAAj/AEn4oIFjBw8bOnrMuJGjhowZM1T8UdYJUZ5ZcNRYWjSrVK5QU0DMmtUnzRAXEy4o6FCEy6NDTkQIq1MmRgM0eZTlCXMgQJtRSE4gmgUkwh1EiZTNUiamy6NUUExcuoJgDCdDjQg9KgVL2SNFT1hwEvKglLBWuixZ+jSrlSBdRlL04bBBkTBdpZTpIqWsFaBcTEr0QaEhl6dWlswKW6poDRUPlmAUQKWMkTJLc76QMQNGUZMWgIgkCFJnlq5WXigwkFClVZQQyuRgELAlk7JBymCZGYAF0ZEPrQixgUDAihxVdPpoAZAFUZIRfThxgvPCwAILDipk+OFG2ZIVoxApERtPfvwlvZ+kQFzPvv0MJQEBADs=";
}

Con esto, el logo de google ( XD ) se pondría despues de cada enlace ya visitado.

Asi, se puede ir jugando con los pseudo-elementos y pseudo-clases. Con ellos, por ejemplo, puedes hacer una letra capital, incluso puedes usar animaciones flash, sumando el uso de base64 a la mezcla ;) .

Nota: Para usar base64 tienen que saber que es MIME y también, vean este post linkeado del blog de Lunatic.


Artículos Relacionados


Etiquetas css

Comentarios | Enviar un comentario
sabia que existian pero nunca las he usado... lamentablemente don IE ¬¬ no los kiere en su codigo.
Por: egoman _blo

Anonymous :

sabia que existian pero nunca las he usado... lamentablemente don IE ¬¬ no los kiere en su codigo.
De hecho, IE8 ya los soporta.
Por: NEO_JP

NEO_JP :

Anonymous :

sabia que existian pero nunca las he usado... lamentablemente don IE ¬¬ no los kiere en su codigo.
De hecho, IE8 ya los soporta.
Y supero la prueba de testAcid...
Por: M@U
Todavia no idea de usar base64, pero encuentro de lo más interesante los pseudo-elementos para aplicarlos en sustitución de algo que veo obligada a hacer y no me gusta (entre otras cosas...) La maldita etiqueta <span>, con un estilo concreto para una capitular o una frase destacada en un contexto.

Lastima lo de IE, sobre todo sabiendo que los simpáticos clientes siempre usan y usarán viejas versiones. Quién no tiene un cliente que todavía lo revisa todo en IE6?

Muchas gracias por tu tip! Me ha parecido muy interesante :)
Por: Carmen
muchas gracias!
Por: Neko -blog
Deja un comentario
IMPORTANTE

Recuerda ser respetuoso, no insultes a otras personas, ni uses palabrotas, hay una persona al otro lado de la pantalla.

Habla bien, NO ESCRIBAS EN MAYUSCULA TODO, no escribas como en un SMS, evita cosas como "ke", "x q" y demás abreviaciones.

Aquí funcionan las etiquetas de los foros, puedes usar [b] para negrita, [img] para las imágenes, [url] para los enlaces, etc.

Si tienes preguntas técnicas, envíalas mejor al foro.