Skip to main content
Validación HTML

CSS: “padding-right”: no se permiten valores negativos X.

Acerca de este problema HTML

La propiedad padding-right define el espacio entre el contenido de un elemento y su borde derecho. Según la especificación del modelo de caja CSS, el padding representa el espacio interno dentro de un elemento, y conceptualmente, el espacio interno negativo no tiene sentido: no puedes tener menos de cero espacio entre el contenido y su borde. Esta regla se aplica igualmente a todas las propiedades de padding: padding-top, padding-right, padding-bottom, padding-left, y la forma abreviada padding.

Los navegadores típicamente ignorarán o descartarán un valor de padding negativo, lo que significa que el ajuste de diseño que pretendías no tendrá efecto. Más allá de ser simplemente CSS inválido, esto puede llevar a una representación inconsistente entre navegadores y un comportamiento de diseño inesperado. Depender de valores inválidos hace que tus hojas de estilo sean frágiles y más difíciles de mantener.

Si tu objetivo es acercar un elemento a su vecino o crear un efecto de superposición, margin-right es la propiedad apropiada a usar. A diferencia del padding, los márgenes están explícitamente permitidos para tener valores negativos. Los márgenes negativos reducen el espacio entre elementos o incluso hacen que se superpongan, lo cual es a menudo la intención real detrás de un intento de padding negativo.

Cómo solucionarlo

  1. Establece el valor a 0 o un número positivo. Si simplemente quieres sin padding, usa 0. Si necesitas algo de espaciado, usa un valor positivo.
  2. Usa margin-right para espaciado negativo. Si necesitas reducir el espacio externo o crear superposición, cambia a un margen negativo en su lugar.
  3. Reevalúa tu enfoque de diseño. En algunos casos, usar transform: translateX(), gap de Flexbox, o diseño Grid puede lograr el resultado deseado de manera más limpia que valores negativos en cualquier propiedad.

Ejemplos

Incorrecto: valor de padding negativo

<style>
  .sidebar {
    padding-right: -10px;
  }
</style>
<div class="sidebar">
  <p>Contenido de la barra lateral</p>
</div>

Esto activa el error del validador porque -10px no es un valor válido para padding-right.

Solucionado: usando cero o un valor positivo

<style>
  .sidebar {
    padding-right: 0;
  }
</style>
<div class="sidebar">
  <p>Contenido de la barra lateral</p>
</div>

Solucionado: usando un margen negativo en su lugar

Si la intención era reducir el espaciado externo en el lado derecho, usa margin-right:

<style>
  .sidebar {
    padding-right: 0;
    margin-right: -10px;
  }
</style>
<div class="sidebar">
  <p>Contenido de la barra lateral</p>
</div>

Solucionado: usando transform para desplazamiento visual

Si el objetivo es desplazar visualmente el elemento sin afectar el flujo del documento, transform es otra opción:

<style>
  .sidebar {
    padding-right: 0;
    transform: translateX(10px);
  }
</style>
<div class="sidebar">
  <p>Contenido de la barra lateral</p>
</div>

Referencia rápida: padding vs. margin

Propiedad ¿Se permiten valores negativos? Propósito
padding-right No Espacio entre contenido y borde
margin-right Espacio entre el borde del elemento y los elementos circundantes

Elige la propiedad que coincida con tu intención de diseño, y recuerda que las cuatro direcciones de padding: padding-top, padding-right, padding-bottom, y padding-left siguen la misma regla de no negativos.

Encuentra problemas como este automáticamente

Rocket Validator escanea miles de páginas en segundos, detectando problemas de HTML en todo tu sitio web.

Ayúdanos a mejorar nuestras guías

¿Te ha sido útil esta guía?

¿Listo para validar tus sitios?
Inicia tu prueba gratuita hoy.