Selectores en CSS
Selectores en CSS
Selectores en CSS
¡Hola! 👋
Hasta ahora vimos cómo utilizar CSS teniendo en cuenta selectores de etiqueta
generales, como div, section, header, nav.
Pero, a menos que quieras que cada sección de tu sitio web se vea exactamente
igual vamos a tener que ver otro tipo de selectores. Esta es una parte crucial de la
funcionalidad para nosotros. Es la forma en que decimos cosas como "Quiero que
este párrafo sea azul y ese otro párrafo sea amarillo". Hasta ahora, solo hemos
podido hacer que todos nuestros párrafos sean azules (o amarillos).
¡Comencemos! 🚀
Selectores CSS
Teniendo en cuenta que ya podemos asignarle estilos a todo un sitio web, mediante
un archivo css que usa selectores para elegir las etiquetas a las que asignarles los
estilos, también tenemos que entender que existen varios tipos de selectores.
Selector universal
Selecciona todos los elementos de la página cuya etiqueta HTML coincide con el
valor del selector. El siguiente ejemplo selecciona todos los párrafos de la página:
Selector de clase
Una de las soluciones más sencillas para aplicar estilos a un solo elemento de la
página consiste en utilizar el atributo class de HTML sobre ese elemento para indicar
directamente la regla CSS que se le debe aplicar.
Ejemplo:
HTML:
<body>
<p class="destacado"> Párrafo 1</p>
<p class="error"> Párrafo 2</p>
<p> Párrafo 3</p>
</body>
CSS:
.destacado {
font-size: 15px;
}
.error {
color: red;
}
En nuestro archivo CSS para especificar una clase, vamos a poner punto (‘.’) y el
nombre de la clase que queremos que coincida con valor que pongamos en
nuestro atributo class en el html.
Selector de ID
CSS:
#identificador{
background-color: blue;
}
En nuestro archivo CSS para especificar un ID, vamos a poner el numeral (‘#’) y el
nombre del ID que queremos que coincida con el valor que pongamos en nuestro
atributo ID en el html.
Como podemos ver el ID, es muy parecido al atributo class, pero la diferencia es que
el ID se puede usar para identificar un solo elemento, mientras que una clase se
puede usar para agrupar más de uno.
Si por ejemplo, tenemos botones que comparten la mayoría de sus estilos, pero de
repente quiero que el color de fondo de uno sea diferente al del otro, puedo aplicar
estilos diferentes a cada uno de ellos, usando una clase diferente para cada uno.
Por ejemplo
En HTML tendremos algo como lo siguiente:
<div class="button">Saber más</div>
<div class="button contacto">Contactarme</div>
.contacto {
font-style: italic;
background-color: #eeb75a; /* Yellow */
}
Pseudo Clases
Las pseudoclases se utilizan para aplicar estilos específicos a elementos HTML en
ciertos estados o situaciones. Estas pseudoclases permiten seleccionar y estilizar
elementos basados en su estado o posición en la estructura del documento, lo que
brinda un mayor control sobre la apariencia y el comportamiento de una página
web.
Por ejemplo:
a:hover {
background-color: lightgray;
}
Cambia el color de fondo de un enlace cuando el cursor del mouse está sobre él.
button:active {
background-color: darkblue;
color: white;
}
ul li:nth-child(odd) {
background-color: #f2f2f2;
}
En CSS, los selectores descendentes son una forma de seleccionar elementos HTML
específicos que están anidados dentro de otros elementos. Los selectores
descendentes permiten aplicar estilos a elementos hijos que están contenidos
dentro de un elemento padre particular. Esto es útil cuando deseas aplicar estilos a
elementos específicos en una estructura HTML más compleja y jerárquica.
elemento-padre elemento-hijo {
/* Estilos que se aplicarán al elemento hijo */
}
ul li {
/* Estilos para los elementos de lista dentro de una lista desordenada
*/
}
En este caso, los estilos se aplicarán solo a los elementos <li> que están contenidos
dentro de un elemento <ul>.
Especificidad en CSS
La especificidad en CSS es un concepto que determina qué reglas de estilo se
aplicarán a un elemento cuando existen múltiples reglas que compiten por aplicar
estilos al mismo elemento. En otras palabras, la especificidad define la jerarquía de
importancia de las reglas CSS y cómo se resuelven los conflictos cuando se aplican
estilos a elementos en una página web.
Cuando hay conflictos entre reglas, la regla con la especificidad más alta se
aplicará. Si dos reglas tienen la misma especificidad, se aplicará la última que
aparezca en la hoja de estilos.
p {
color: red;
}
#mi-id {
color: blue;
}
p#mi-id {
color: green;
}
Esperamos que esta información te haya sido de utilidad y que te lleves para
repasar:
● Diferencias entre los tipos de selectores en CSS
○ Universales
○ De etiqueta
○ De clase
○ De ID
● Cómo usar más de una clase en CSS
● Qué es y cómo se usa una pseudo-clase
● Concepto de especificidad y priorización en CSS