Selectores CSS
Ya hemos visto los selectores por etiqueta (p.e. table
), clase (p.e. .alert
) e id (p.e. #alert
). Veamos otros selectores.
Lista de selectores
Puedes definir más de un selector en una regla CSS separando los selectores por coma (,
). Por ejemplo:
h1, h2, h3 {
margin-bottom: 21px;
}
Esta regla CSS le aplicaría el margen inferior a las etiquetas h1
, h2
y h3
.
Más específicos
Podemos ser más específicos mezclando los selector. Por ejemplo, si queremos aplicar un estilos a todos los párrafos que tengan la clase importante utilizaríamos el selector p.importante
:
p.importante {
font-size: 21;
}
Descendientes
Puedes definir selectores que estén dentro de otros selectores.
Por ejemplo, la siguiente regla CSS aplica a las etiquetas span
que estén dentro de una etiqueta a
con clase link
, que a su vez estén dentro de una etiqueta div
.
div a.link span {
color: red;
}
Descendientes directos
Puedes definir selectores que sean hijos directos de otros selectores.
Por ejemplo, la siguiente regla aplica a todos los elementos con clase link
que sean hijos directos de una etiqueta div
:
div > .link {
color: red;
}
Cualquier selector
Utiilza el asterísco (*
) para referirte a cualquier selector.
Por ejemplo, la siguiente regla aplicaría a todos los elementos de la página:
* {
box-sizing: border-box;
}
Pseudo clases
Nos permiten seleccionar elementos por su estado actual.
Por ejemplo los vínculos que ya han sido visitados, los checkboxes que están seleccionados, los elementos sobre los que está pasando el mouse, etc.
Por ejemplo, los vínculos pueden estar en varios estados:
/* no visitado */
a:link {
color: #FF0000;
}
/* visitado */
a:visited {
color: #00FF00;
}
/* mouse sobre el vínculo */
a:hover {
color: #FF00FF;
}
/* seleccionado */
a:active {
color: #0000FF;
}
:first-child
y :last-child
Estas dos pseudo clases nos permiten definir el primer y último selector dentro de cualquier elemento.
Por ejemplo, la siguiente regla aplicaría al primer párrafo dentro de cualquier elemento:
p:first-child {
color: red;
}