Overflow-x en CSS: Cómo dominar el desbordamiento horizontal 

| Última modificación: 3 de enero de 2025 | Tiempo de Lectura: 4 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Ya he hablado anteriormente sobre la propiedad overflow en CSS, una herramienta que te permite controlar qué ocurre cuando el contenido desborda el área que debería ocupar. Continuando con este tema, hoy quiero contarte qué es overflow-x, la propiedad que, específicamente, te permite controlar el desbordamiento horizontal de un elemento. Así que presta atención porque voy a explicarte para qué sirve y cómo implementarla para impedir que un desbordamiento horizontal rompa con la estética de tu página.

Overflow-x en CSS: Cómo dominar el desbordamiento horizontal 

¿Qué es overflow-x en CSS?

Overflow-x en CSS es la propiedad específica que nos ayuda a manejar el contenido que excede los límites horizontales de un elemento. Para que puedas entenderlo más fácilmente, imagina que estás llenando una caja con contenido y este comienza a desbordarse hacia los lados. Con overflow-x puedes decidir cómo lidiar con ese excedente. Por ejemplo, puedes dejar que fluya libremente, esconderlo, añadir una barra de desplazamiento o ajustarlo de forma automática.

Esta propiedad es muy importante cuando trabajas con elementos dinámicos, como tablas extensas, galerías de imágenes o contenedores responsivos. Básicamente, al controlar el comportamiento del contenido horizontal, puedes evitar problemas de diseño, como que aparezcan barras de desplazamiento indeseadas o que ciertas partes del contenido desaparezcan sin razón aparente. 

¿Para qué sirve overflow-x en CSS?

Tal y como venía diciendo, la principal utilidad de overflow-x es evitar problemas de desbordamiento horizontal que afectan tanto a la funcionalidad como al diseño de la página. Por esto, suele usarse para lo siguiente:

  1. Controlar barras de desplazamiento horizontales: Una gran ventaja es que, con esta propiedad, puedes habilitarlas solo cuando sea necesario o desactivarlas por completo.
  2. Ocultar contenido no deseado: Te permite mantener el enfoque en lo importante y evitar que haya elementos fuera de lugar.
  3. Mejorar la experiencia del usuario en dispositivos pequeños: Con esta propiedad, puedes asegurarte de que el diseño sea limpio y se mantenga navegable en los dispositivos móviles.
  4. Estilizar tablas o contenedores dinámicos: Cuando trabajas con elementos que cambian de tamaño, como galerías o tablas con muchos datos, overflow-x te da el poder de estabilizarlas y mantener todo bajo control.

Sintaxis de overflow-x en CSS

Realmente, puedo decirte que implementar esta propiedad es muy sencillo, ya que la sintaxis básica se aplica directamente al elemento HTML que quieres controlar. Veamos cómo:

elemento {
overflow-x: valor;
}

Valores disponibles

En cuanto a los valores, podrás ver a continuación que CSS ofrece varios, cada uno con un propósito específico. Como tal, son los mismos de la propiedad overflow:

  1. visible: Este es el valor por defecto, donde el contenido desbordado no se recorta y puede sobresalir del contenedor.
  2. hidden: Oculta el contenido que se extiende fuera del límite horizontal.
  3. scroll: Siempre muestra una barra de desplazamiento horizontal, independientemente de si el contenido lo necesita o no.
  4. auto: Muestra una barra de desplazamiento sólo cuando el contenido excede el ancho del contenedor.
  5. clip: Este es similar a hidden, pero sin crear un área de desplazamiento.

Ejemplo de overflow-x en CSS

Tras aprender la teoría, viene la mejor parte. Imagina que estás diseñando una galería de imágenes horizontal en un contenedor limitado por el ancho de la pantalla. Si las imágenes son demasiado grandes, esta propiedad puede ayudarte si haces lo siguiente:

<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Ejemplo Overflow-x</title>
<style>
.galeria {
width: 100%;
height: 200px;
overflow-x: auto;
white-space: nowrap;
border: 1px solid #ccc;
}

.imagen {
display: inline-block;
width: 300px;
height: 100%;
margin-right: 10px;
background-color: #f0f0f0;
}
</style>
</head>
<body>
<div class="galeria">
<div class="imagen">Imagen 1</div>
<div class="imagen">Imagen 2</div>
<div class="imagen">Imagen 3</div>
</div>
</body>
</html>

Pero, ¿qué está pasando aquí? Déjame explicártelo:

Primero, tienes mayor control del desplazamiento horizontal, ya que con overflow-x: auto, solo aparece una barra de desplazamiento cuando el contenido lo requiere. Por otra parte, tienes un diseño más limpio, pues gracias a white-space: nowrap, las imágenes permanecen en una sola fila, lo que evita un desbordamiento vertical.

Diferencias entre overflow, overflow-x y overflow-y

Ahora, vale la pena entender cómo se diferencian estas propiedades, ya que están bastante relacionadas, pero no son del todo iguales:

  • overflow: Controla el desbordamiento en ambos ejes, horizontal y vertical.
  • overflow-x: Se enfoca únicamente en el eje horizontal.
  • overflow-y: Maneja exclusivamente el desbordamiento vertical.

Por ejemplo, si usas overflow: hidden, tanto el contenido horizontal como el vertical quedarán recortados. En cambio, con overflow-x: hidden, solo afectas al eje horizontal, dejando el vertical intacto.

Consejos para usar overflow-x en CSS

Como siempre, me gustaría compartir contigo algunas recomendaciones de lo que me ha funcionado al utilizar esta propiedad:

  1. Evalúa la experiencia del usuario: Usar hidden puede ser útil, sin embargo, debes asegurarte de no ocultar información importante.
  2. Combina con otras propiedades: Usar propiedades como max-width o white-space es muy útil para complementar esta propiedad.
  3. Optimiza para dispositivos móviles: Recuerda que siempre debes probar cómo se ve tu diseño en pantallas más pequeñas.
  4. No abuses del scroll forzado: Aunque scroll garantiza barras de desplazamiento, puede generar una experiencia de usuario incómoda si lo utilizas cuando no es realmente necesario.

Como ves, overflow-x en CSS es una herramienta muy útil si quieres mantener el control sobre el desbordamiento horizontal y evitar esos pequeños (o grandes) desastres en tu diseño. Ahora que sabes que puedes ocultar contenido hasta crear barras de desplazamiento funcionales, anímate a implementarla para adaptar tus proyectos a cualquier escenario.

Si este tipo de temas te apasiona y quieres convertirte en un experto en desarrollo web, ¿por qué no dar el siguiente paso? En el Bootcamp de Desarrollo Web de KeepCoding, podrás formarte en HTML, CSS, JavaScript, React y las tecnologías más demandadas del sector IT en la actualidad. Además, te prepararás para transformar tu futuro profesional en el mundo tech. 

¡El cambio comienza hoy! 

Posts más leídos

¡CONVOCATORIA ABIERTA!

Desarrollo Web

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado