Pseudo-clases CSS
Una pseudo-clase es usada para definir un estado especial de una etiqueta.
Por ejemplo, puede ser usado como:
- Dar un estilo de una etiqueta cuando se sobrepone el puntero del mouse.
- Dar estilos diferentes para enlaces visitados y enlaces no visitados.
- Dar un estilo cuando obtiene el foco.
Sintaxis:
selector:pseudo-clase { propiedad: valor; }
Anclar pseudo-clases
Los enlaces pueden ser mostrados de diferentes maneras:
a:link {
color: blue;
}
a:visited {
color: purple;
}
a:hover {
color: black;
}
a:active {
color: red;
}
Nota:
a:hover
debe aparecer antes dea:link
ya:visited
en la definición CSS para que sea efectivo.a:active
debe aparecer despues dea:hover
en la definición CSS para que sea efectivo. Las pseudo-clases no es sensitiva a mayúsculas y minúsculas.
Pseudo-clases y Clases CSS
Las pseudo-clases pueden ser combinadas con las clases CSS.
En el siguiente ejemplo el enlace cambia de color al pasar encima el puntero del mouse:
a.destacado:hover {
color: green;
}
La pseudo-clase hover
También podemos aplicar un efecto a una etiqueta <div> cuando pase encima el puntero del mouse:
div:hover {
background-color: blue;
}
La pseudo-clase se puede utilizar para que actue sobre otras etiquetas, usando también los combinadores CSS.
En el siguiente ejemplo muestra una etiqueta <p>
anidada en una etiqueta <div>
y especificada oculta con la declaración display: none;
, pero que se muestra al pasar encima el puntero del mouse a la etiqueta <div>
:
p {
display: none;
background-color: yellow;
padding: 20px;
}
div:hover p {
display: block;
}
La pseudo-clase first-child
La pseudo-clase :first-child
a la primera etiqueta anidada de otra.
En el siguiente ejemplo, el selector aplica para la primera etiqueta <p>
dentro de cualquier otra etiqueta:
p:first-child {
color: blue;
}
En el siguiente ejemplo, el selector aplica para la primera etiqueta <i>
dentro de todas las etiquetas <p>:
p i:first-child {
color: blue;
}
En el siguiente ejemplo, el selector aplica para todas las etiquetas <i>
dentro de la primera etiqueta <p>
dentro de otra etiqueta:
p:first-child i {
color: blue;
}
La pseudo-clase lang
La pseudo-clase :lang
permite permite especificar reglas especiales para diferentes lenguajes.
En el siguiente ejemplo, la pseudo-clase :lang
define las comillas para la etiqueta <q>
con lang=”no”
:
<html>
<head>
<style>
q:lang(no) { quotes: “~” “~”;}
</style>
</head>
<body>
<p>Algún texto <q lang=”no”>Cita dentro del párrafo</q> más texto</p>
</body>
</html>
Las pseudo-clases CSS:
Selector | Ejemplo | Descripción del ejemplo |
---|---|---|
:active |
a:active |
Aplica a las etiquetas <a> cuando se activan. |
:checked |
input:checked |
Aplica a las etiquetas input con el atributo check activo. |
:disabled |
input:disabled |
Aplica a las etiquetas input con el atributo disabled. |
:empty |
p:empty |
Aplica a las etiquetas <p> que no tienen etiquetas anidadas. |
:enabled |
input:enabled |
Aplica a las etiquetas <input> activas. |
:first-child |
p:first-child |
Aplica a cada etiqueta <p> que es la primera en el mismo nivel de anidamiento. |
:first-of-type |
p:first-of-type |
Aplica a cada etiqueta <p> que es la primera en el mismo nivel de anidamiento. |
:focus |
input:focus |
Aplica para la etiqueta <input> que tiene el foco. |
:hover |
a:hover |
Aplica para la etiqueta <a> a la que se le pasa el puntero del mouse encima. |
:in-range |
input:in-range |
Aplica para las etiquetas <input> que su valor se encuentra dentro del rango especificado. |
:invalid |
input:invalid |
Aplica para las etiquetas <input> en que su valor es invalido. |
:lang(lenguaje) |
p:lang(es) |
Aplica para las etiquetas <p> con el valor "es" en su atributo lang. |
:last-child |
p:last-child |
Aplica para las etiquetas <p> que son últimas en el mismo nivel de anidamiento. |
:last-of-type |
p:last-of-type |
Aplica para las etiquetas <p> que son últimas en el mismo nivel de anidamiento. |
:link |
a:link |
Aplica para las etiquetas <a> . |
:not(selector) |
:not(p) |
Aplica para las etiquetas que no son <p> . |
:nth-child(n) |
p:nth-child(2) |
Aplica para las etiquetas <p> que son segundas en el mismo nivel de anidamiento. |
:nth-last-child(n) |
p:nth-last-child(2) |
Aplica para las etiquetas <p> que son segundas en el mismo nivel de anidamiento, contando del último al primero. |
:nth-last-of-type(n) |
p:nth-last-of-type(2) |
Aplica para las etiquetas <p> que son segundas en el mismo nivel de anidamiento, contando del último al prmero. |
:nth-of-type(n) | p:nth-of-type(2) | Aplica para las etiquetas <p> que son segundas en el mismo nivel de anidamiento. |
:only-of-type |
p:only-of-type |
Aplica para las etiquetas <p> que son únicas en el mismo nivel de anidamiento. |
:only-child |
p:only-child |
Aplica para las etiquetas <p> que son únicas en el mismo nivel de anidamiento. |
:opctional |
input:optional |
Aplica para las etiquetas <input> que contienen el atributo required. |
:out-of-range |
input:out-of-range |
Aplica para las etiquetas <input> que su valor se encuentra fuera del rango especificado. |
:read-only |
input:read-only |
Aplica para las etiquetas <input> con el atributo readonly especificado. |
:read-write |
input:read-write |
Aplica para las etiquetas <input> sin el atributo readonly especificado. |
:required |
input:required |
Aplica para las etiquetas <input> con el atributo required especificado. |
:root |
root |
Aplica la etiqueta root del documento. |
:target |
#noticias:target |
Aplica a la etiqueta especificada como marcador en un enlace que la nombra en su URL. |
:valid |
input:valid |
Aplica a las etiquetas <input> que su valor es valido. |
:visited |
a:visited |
Aplica a los enlaces visitados. |