Info Unidad en un valor cero
Por qué una unidad en un valor de longitud cero como 0px es redundante en CSS, ya que el cero es la misma longitud sin importar la unidad.
El validador marca un valor de longitud cero escrito con unidad — 0px, 0em, 0%, etcétera — en una propiedad que espera una longitud.
Ejemplo
/* Redundante */
.caja { margin-top: 0px; padding: 0em 0%; }
/* Equivalente, más corto */
.caja { margin-top: 0; padding: 0; }Por qué importa
Un valor de longitud CSS es un número más una unidad que juntos describen una distancia — pero cero es cero sin importar en qué se mida. 0px, 0em y 0% se resuelven todos al mismo valor computado exacto, así que la unidad no aporta ninguna información y se puede omitir. Esto es puramente una convención de estilo/tamaño (popularizada por herramientas como la regla length-zero-no-unit de Stylelint) en vez de un problema de corrección — una unidad en cero no rompe nada — pero omitirla es la convención más común en CSS escrito a mano y verificado con linter, y ahorra unos cuantos bytes en total en una hoja de estilos grande.
Frequently asked questions
¿0px en realidad está mal, o es solo preferencia de estilo?
Solo preferencia de estilo — 0px es CSS válido y se renderiza idéntico a 0. Esta revisión es informativa, y lo marca como una oportunidad de consistencia/brevedad en vez de un bug.
¿Esto también aplica a valores de ángulo o tiempo, como 0deg o 0s?
No — esta revisión cubre específicamente las propiedades de valor de longitud que el validador ya rastrea (margin, padding, width, font-size y similares), no unidades de ángulo o tiempo.