CSS
Selectores
Seleccionan el o los elementos HTML a los que se van a aplicar los estilos1 indicados bajo el selector. Hay 4 maneras básicas de selecionar: por identificador (#id), por atributo (elmento[atributo=valor]), por clase (.clase), o por nombre del elemento HTML (elemento).
La siguiente tabla no tiene ningún estilo. Vamos a ir dándole estilo utilizando cada tipo de selector:
<table>
<caption id="leyenda">Resumen de tipos de selectores</caption>
<thead>
<tr>
<th></th>
<th>Tipo</th>
<th>Regla CSS</th>
<th>Elemento HTML seleccionado</th>
</tr>
</thead>
<tbody>
<tr class="separador">
<th rowspan="4">Básicos</th>
<td>Id</td>
<td><code>#id1 { color: gray; }</code></td>
<td><code><p id="id1">Párrafo</p></code></td>
</tr>
<tr>
<td>Atributo</td>
<td><code>p[title] { color: gray; }</code></td>
<td><code><p title="Título">Párrafo</p></code></td>
</tr>
<tr>
<td>Clase</td>
<td><code>.clase1 { color: gray; }</code></td>
<td><code><p class="clase1">Párrafo</p></code></td>
</tr>
<tr>
<td>Nombre</td>
<td><code>p { color: gray; }</code></td>
<td><code><p>Párrafo</p></code></td>
</tr>
<tr class="separador">
<th rowspan="2">Pseudo</th>
<td>Clase</td>
<td><code>a:hover { color: blue; }</code></td>
<td><code><a href="">Enlace</a></code></td>
</tr>
<tr>
<td>Elemento</td>
<td><code>a::before { content: '🔗 '; }</code></td>
<td><code><a href="">Enlace</a></code></td>
</tr>
<tr class="separador">
<th rowspan="3">Otros</th>
<td>Universal</td>
<td><code>* { color: blue; }</code></td>
<td>Aplica a todos los elementos del HTML</td>
</tr>
<tr>
<td>Grupos</td>
<td><code>#id1, #id2 { color: gray; }</code></td>
<td><code><p id="id1">Párrafo 1</p><p id="id2">Párrafo 2</p></code></td>
</tr>
<tr>
<td>Combinados</td>
<td><code>p > span { color: red; }</code></td>
<td><code><p>Párrafo <span>importante<span></p></code></td>
</tr>
</tbody>
</table>
/* Añade aquí las reglas CSS */
Pulsa en el botón CSS y añade, de una en una, las siguientes reglas, y observa los cambios:
-
Selector por id del elemento HTML:
#leyenda { color: #222; font-family: Georgia, Times, serif; font-size: 20px; font-style: italic; padding-bottom: 10px; border-bottom: 1px solid #bfbfbf; margin-bottom: 20px; }❓ Ejercicio: Identifica en el HTML a qué elemento se le está aplicando el estilo.
-
Selector por atributo del elemento HTML:
th[rowspan] { font-family: Georgia, Times, serif; font-size: 11px; writing-mode: vertical-lr; padding-right: 15px; }❓ Pregunta: Si hubieras utilizado
th[rowspan="4"]¿qué celda de la tabla hubiera cambiado?. -
Selector por clase del elemento HTML:
.separador > td { border-top: 1px solid #bfbfbf; }❓ Pregunta: En este caso se está utilizando un selector combinado de clase y elemento hijo ¿Qué elementos de nuestro HTML se están seleccionando en este caso?
-
Selectores por nombre del elemento HTML:
table { margin: 0 auto; border-collapse: collapse; border-spacing: 0; } th { font-size: 15px; text-align: left; } td { padding-right: 20px; font-size: 10px; line-height: 2; } tr:nth-child(2n+1) > td { background: #eee; }❓ Ejercicio: La última regla CSS utiliza una pseudo-clase que veremos en la siguiente sección. Intenta modificar ese selector para que aplique a las líneas pares en vez de las impares.
🔍 Nota: Desde el navegador puedes inspeccionar cada elemento, modificar sus estilos y ver los cambios directamente reflejados: Botón derecho sobre el elemento
➜"Inspeccionar"➜"Inspector" (CSS). Para obtener el selector CSS de un elemento: "Inspector" (HTML)➜botón derecho sobre el código HTML del elemento➜"Copiar"➜"Selector CSS".
Lista completa de propiedades de estilo disponibles en CSS.