Modos de Escritura y Alineación en CSS: Flexbox y CSS Grid

Clase 10 de 28Curso Profesional de CSS Grid Layout

Contenido del curso

Resumen

Comprender cómo funcionan los modos de escritura en CSS es fundamental para dominar herramientas como Flexbox y CSS Grid. Más allá de las propiedades clásicas como top, left, right y bottom, existe toda una lógica detrás de cómo el navegador interpreta la dirección del contenido según el sistema de escritura del usuario. Conocer estos conceptos te permitirá construir interfaces más conscientes y adaptables a diferentes idiomas y culturas.

¿Qué es la propiedad writing mode y por qué importa?

En el sistema de escritura latín, escribimos de izquierda a derecha y el contenido fluye de arriba hacia abajo. Por eso, el origen del navegador se ubica en la esquina superior izquierda (top left) [0:27]. Sin embargo, no todos los idiomas funcionan así: algunos se escriben de derecha a izquierda o incluso de arriba hacia abajo.

Para resolver esta diversidad, CSS introdujo la propiedad writing-mode [1:10], que permite definir la orientación del flujo del texto y del documento. Sus valores principales son:

  • horizontal-tb: flujo horizontal, de arriba hacia abajo (top to bottom). Es el valor por defecto en sistemas de escritura latinos.
  • vertical-rl: flujo vertical, de derecha a izquierda (right to left).
  • vertical-lr: flujo vertical, de izquierda a derecha (left to right).
  • sideways-rl y sideways-lr: variantes donde el texto se orienta de forma diferente al flujo vertical estándar [5:25].

Es importante señalar que esta propiedad no aplica para elementos de tabla como row y col [1:56].

¿Cómo se relacionan los conceptos de bloque e inline con la dirección del contenido?

Dos conceptos clave para entender los modos de escritura son la dirección de bloque y la dirección en línea (inline) [2:10].

¿Qué significa dirección de bloque?

Cuando trabajamos con elementos que tienen display: block, como un <div>, estos ocupan todo el ancho disponible y se apilan uno debajo del otro [3:06]. Esta es la dirección de bloque: en el sistema latín, va de arriba hacia abajo. Pero si cambiamos el writing-mode a vertical-rl, la dirección de bloque pasa a ser de derecha a izquierda [4:33].

¿Qué significa dirección inline?

Los elementos con display: inline, como un <span> o un <input>, se colocan uno al lado del otro, como las palabras de un texto [3:35]. La dirección inline en nuestro sistema es horizontal, de izquierda a derecha.

Entender esta distinción es esencial porque Flexbox y CSS Grid basan su comportamiento en estas direcciones, no en coordenadas físicas como izquierda o derecha.

¿Cómo afectan los modos de escritura a Flexbox y CSS Grid?

Al cambiar el modo de escritura, las propiedades de Flexbox se adaptan automáticamente. Por ejemplo, un contenedor con display: flex, flex-direction: column y justify-content: flex-end se verá completamente diferente dependiendo de si el writing-mode es horizontal-tb, vertical-lr o vertical-rl [6:10].

Lo mismo sucede con CSS Grid: la disposición de la cuadrícula cambia según el modo de escritura y la dirección del texto, sin que el desarrollador tenga que modificar nada manualmente [7:02]. El navegador ya sabe internamente en qué modo de escritura se encuentra y ajusta la representación.

Otra propiedad relacionada es direction [5:53], que acepta los valores ltr (left to right) y rtl (right to left), controlando la dirección horizontal del contenido.

¿Cómo practicar con writing mode y direction?

Se propone un ejercicio con una card sencilla que tiene un <header> y un <main>. En el CSS se aplican estilos básicos como background, min-height, border-radius y overflow: hidden [7:52]. Esta última propiedad es muy útil y se utiliza frecuentemente para ocultar contenido que desborda su contenedor.

El reto consiste en descomentar las propiedades direction y writing-mode y observar cómo cambian la orientación de la tarjeta y del texto al modificar sus valores [8:18].

Estos conceptos sientan las bases para comprender las propiedades lógicas de CSS, un tema que profundiza aún más en cómo construir layouts que respondan a cualquier sistema de escritura. ¿Ya probaste cambiar el writing-mode en tu navegador? Comparte en los comentarios qué descubriste al experimentar con estas propiedades.