¿Qué hace un asterisco (*) en un selector de CSS?

Resuelto JasonDavis asked hace 15 años • 5 respuestas

Encontré este código CSS y lo ejecuté para ver qué hace y describió CADA elemento de la página.

¿ Alguien puede explicar qué hace el asterisco *en CSS?

<style>
* { outline: 2px dotted red }
* * { outline: 2px dotted green }
* * * { outline: 2px dotted orange }
* * * * { outline: 2px dotted blue }
* * * * * { outline: 1px solid red }
* * * * * * { outline: 1px solid green }
* * * * * * * { outline: 1px solid orange }
* * * * * * * * { outline: 1px solid blue }
</style>
JasonDavis avatar Jul 30 '09 10:07 JasonDavis
Aceptado

Es un comodín, esto significa que seleccionará todos los elementos dentro de esa parte del DOM.

Por ejemplo, si quiero aplicar margen a cada elemento de toda mi página, puedo usar:

* {
    margin: 10px;
}

También puede usar esto dentro de subselecciones; por ejemplo, lo siguiente agregaría un margen a todos los elementos dentro de una etiqueta de párrafo:

p * {
    margin: 10px;
}

Su ejemplo consiste en hacer algunos trucos de CSS para aplicar bordes y márgenes consecutivos a elementos para darles bordes de múltiples colores. Por ejemplo, un borde blanco rodeado por un borde negro.

Soviut avatar Jul 30 '2009 03:07 Soviut

El CSS al que hizo referencia es muy útil para un diseñador web para depurar problemas de diseño de página. A menudo lo coloco temporalmente en la página para poder ver el tamaño de todos los elementos de la página y localizar, por ejemplo, el que tiene demasiado relleno, lo que desplaza a otros elementos fuera de lugar.

Se puede hacer el mismo truco solo con la primera línea, pero la ventaja de definir varios contornos es que se obtiene una pista visual a través del color del borde sobre la jerarquía de los elementos de la página anidados.

Tom avatar Nov 10 '2009 12:11 Tom