Propiedad CSS text-align: guía completa con ejemplos y soporte

Actualización definitiva: 11/13/2025
  • text-align alinea horizontalmente el contenido inline: left, right, center, justify, start, end y match-parent.
  • Valores lógicos (inicio/fin) se adaptan a LTR/RTL; text-align-last afina la última línea.
  • Compatibilidad muy amplia; el justificado puede variar entre motores como Firefox y Chrome.

Alineación de texto con CSS

Cuando trabajas con maquetación web, controlar cómo se distribuye el texto en un bloque es fundamental, y ahí entra en juego la propiedad text-align. Esta regla CSS determina la alineación horizontal del contenido en línea dentro de un elemento contenedor, y es clave para organizar párrafos, títulos, menús o llamadas a la acción con un estilo coherente y legible.

Además de las opciones clásicas como Izquierdo, Derecho, Centro y justificar, hoy en día contamos con valores lógicos que se adaptan a la dirección del texto, como comienzo, final o el interesante emparejar-padre. Estas variantes facilitan la internacionalización (LTR/RTL) y evitan tener que reescribir estilos cuando cambian los idiomas o la dirección de escritura.

Qué es text-align y para qué sirve

La propiedad text-align la alineación horizontal del contenido en línea que vive dentro de un elemento de bloque (o elementos con comportamiento similar). No centra ni desplaza el propio bloque (para eso hay otras técnicas), sino que controla cómo se alinean las líneas de texto y otros elementos inline/inline-block en su interior.

En la práctica, si aplicas text-align una ONU <div> o un <section>, afecta al texto ya todo lo que sea inline o inline-block dentro de ese contenedor: enlaces, iconos en línea, imágenes con display: inline, y elementos similares. A su vez, los descendientes pueden heredar este valor y, si lo necesitas, puedes sobrescribirlo en niveles inferiores.

Un detalle importante es que, en la mayoría de los idiomas que se escriben de izquierda a derecha (LTR), el valor por defecto de text-align es Izquierdo. Cuando el documento o el contenedor está en derecha a izquierda (RTL), el comportamiento por defecto cambia y la alineación natural pasa a ser Derecho. Por eso es útil conocer los valores lógicos como comienzo y final.

Sintaxis básica y valores disponibles

La forma de uso es muy directa: aplica el valor deseado al selector del contenedor que engloba el contenido alineal. Aquí tienes la sintaxis general y los valores más habituales:

/* Sintaxis general */
selector {
  text-align: left | right | center | justify | start | end | match-parent | initial | inherit;
}

Valores clásicos que encontrarás en casi cualquier proyecto: Izquierdo (alineación a la izquierda), Derecho (a la derecha), Centro (centrado) y justificar (márgenes alineados repartiendo espacio entre palabras). Son los más extendidos y ampliamente soportados por los novos.

Además, CSS incorpora valores lógicos y de herencia muy útiles: comienzo y final se adaptan a LTR/RTL sin que tengas que cambiar estilos; emparejar-padre calcula la alineación en función de la dirección del elemento actual y su padre; heredar fuerza la herencia del valor del padre; mi inicial Restablezca el valor al predeterminado del estándar. Estos valores facilitan la internacionalización y el mantenimiento..

También existe comportamiento especificado pero aún sin soporte en los navegadores según la especificación: por ejemplo, combinar inicio fin para alinear la primera línea de un modo y el resto de otro, o alinear por una cadena con una sintaxis del tipo text-align: "." start; para, por ejemplo, números alineales por el separador decimal. Son ideas interesantes aún no implementadas en la.

Cómo se aplica sobre distintos tipos de elementos

text-align actúa sobre el contenido inline del contenedor (texto, inline-blocks, imágenes inline, etc.). Si quieres centrar un elemento inline, puedes bastar con que el contenedor tenga text-align: center;. En cambio, para centrar el propio contenedor de bloque necesitas otras técnicas (por ejemplo, margin: 0 auto; con un ancho definido) o usar sistemas de diseño modernos como Flexbox o Grid.

Si lo que tienes es un elemento estrictamente en línea (como un <span>) y quieres aplicar un text-align Específicamente, recuerda que esta propiedad no se aplica “directamente” al inline aislado; o bien actúas en su contenedor de bloque,el conviertes ese inline en bloque usando algo como display: block para que pueda alinear su contenido con text-align.

/* Opción 1: Alinear desde el contenedor */
.contenedor {
  text-align: right;
}

/* Opción 2: Convertir el inline en bloque */
span.convertido {
  display: block;
  text-align: right;
}

Recuerda además que text-align no está pensado para alinear verticalmente. Para la alineación vertical del contenido inline existen valores de vertical-align, y para bloques o diseños completos, Flexbox o Cuadrícula son la opción preferida.

Casos de uso frecuentes y ejemplos

Un uso muy común es la alineación de encabezados y párrafos de una sección. Por ejemplo, centrar un título puede dar más énfasis visual, mientras que un párrafo justificado aporta un acabado con márgenes rectos a ambos lados, al estilo de revistas y periódicos. Elige según el tono del contenido y la legibilidad..

h1 {
  text-align: center;
}
.articulo p {
  text-align: justify;
}

En Una barra de navegación Puedes optar por un centrado si quieres una estética equilibrada y visible en pantallas grandes. Funciona muy bien en webs corporativas o landing pages. que buscan simetría.

.nav {
  text-align: center;
}
.nav a {
  display: inline-block;
  padding: .5rem 1rem;
}

en los pies de página es habitual alinear ciertos bloques a la derecha para distinguirlos del flujo principal del texto; por ejemplo, datos del autor, enlaces legales o iconos de redes. Ese contraste ayuda a separar jerarquías visuales.

footer .meta {
  text-align: right;
}

En llamadas a la acción (CTA) centradas, el mensaje destaca rápidamente y facilita el clic en el móvil. Puedes combinar un fondo llamativo con texto centrado para crear un bloque que capte la atención. El centrado refuerza la jerarquía del CTA.

.cta {
  text-align: center;
  background: #f5f5f5;
  padding: 1.5rem;
}

Valores lógicos: inicio, fin y partido-padre

Con idiomas LTR como el español o el inglés, Comienza equivalente a una izquierda y el final equivale a un derecho. En textos RTL (árabe, hebreo), Comienza a la derecha y termina a la izquierda. De este modo, tu CSS se adapta automáticamente a la dirección del texto sin duplicar reglas.

/* Se adapta a LTR y RTL */
.card__title {
  text-align: start;
}

.card__meta {
  text-align: end;
}

el valor emparejar-padre es similar a heredar, pero calcula el resultado en función de la dirección del elemento actual y su padre. Es útil cuando hay mezclas de direcciones. y necesitas mantener consistencia sin forzar valores absolutos.

Justificado: consideraciones de legibilidad

Usar alinear texto: justificar; crea márgenes rectos a ambos lados repartiendo espacios entre palabras. Queda muy “editorial”, pero conviene cuidar la medida de línea y el interletrado para evitar “ríos” visuales, sobre todo en columnas estrechas.

.cuerpo-texto {
  text-align: justify;
  hyphens: auto; /* para mejorar saltos de línea en idiomas compatibles */
}

Existe un matiz de implementación: algunos navegadores, como Firefox, pueden gestionar el espacio al justificar de forma ligeramente distinta a Chrome o Safari. No es un error, sino diferencias de motor.. Si el justificado es crítico para tu diseño, prueba en varios navegadores.

text-align-last: controla la última línea

Cuando justifique o alineas bloques complejos, puede interesarte indicar cómo se alinea la última línea de un metro. Ahí entra text-align-last, que admite valores como auto, Izquierdo, Derecho, Centro, justificar, comienzo y final. Permite refinar el remate del párrafo.

.parrafo {
  text-align: justify;
  text-align-last: center; /* la última línea se centra */
}

el valor auto suele justificar y alinear a la izquierda en contextos LTR, mientras que comienzo y final respetan la dirección del texto. Es una forma fina de controlar el ritmo del párrafo sin romper la estética general.

Dirección del texto y combinación con unicode-bidi

La propiedad direction definir la dirección de escritura dentro de un elemento: LTR o RTL. En combinación con unicode-bidi puede forzar o anidar direcciones en textos con múltiples idiomas. Es útil especialmente en interfaces multilingües. o cuando insertes términos árabes dentro de un párrafo en español.

.bloque-rtl {
  direction: rtl;           /* establece escritura derecha a izquierda */
  unicode-bidi: embed;      /* ajusta el comportamiento de anidado */
  text-align: start;        /* se alineará a la derecha en RTL */
}

Coincidir dirección con valores lógicos de text-align Ahorra condicionales y hojas alternativas. La maquetación se vuelve más robusta frente a cambios de idioma..

Alineación vertical: vertical-align y alternativas

No hay que confundir conceptos: alineación de texto solo alinea en horizontalPara vertical, CSS ofrece vertical-align en el contexto de contenido inline y celdas de tabla. No sirve para centrar bloques completos, pero sí para ajustar la línea base o colocación vertical relativa.

valores de vertical-align que puedes usar: base (por defecto), por debajo, súper , parte superior, texto superior, medio, fondo, texto inferior, además de longitudes y porcentajes para desplazarse respecto a la línea base. Son muy útiles para iconos en línea, superíndices o tablas..

  • base: alinea con la línea base del padre.
  • por debajo / súper : simulan subíndices y superíndices.
  • parte superior / fondo: se alinean con el elemento más alto/bajo de la línea.
  • texto superior / texto inferior: se alinean con la parte alta/baja de la fuente del padre.
  • medio: centra aproximadamente respecto a la x-height; útiles con iconos.
  • longitudes/%: ajusta desplazamientos finos.

Para centrar verticalmente bloques completos, es más eficaz usar Flexbox o Cuadrícula CSS. Son sistemas diseñados para diseños y resuelven estos casos de forma confiable en cualquier ventana gráfica.

.centro-vertical {
  display: flex;
  align-items: center;   /* centrado vertical */
  justify-content: center; /* opcional: centrado horizontal */
}

Herencia, alcance y cómo sobrescribir

Los elementos hijos? heredar text-align del contenedor. Si en un <div> pones text-align: center;, todos sus párrafos e inline tienden a centrarse también. Para romper esa herencia, establece un valor distinto en el elemento hijo.

.padre {
  text-align: center;
}
.padre .hijo {
  text-align: left; /* sobrescribe la herencia */
}

Con combinadores y selectores de mayor especificidad Puedes ajustar alineaciones en nodos concretos: por ejemplo, alinear a la derecha solo los últimos elementos de una lista dentro de un bloque centrado. El control fino se logra combinando selectores correctamente.

.lista {
  text-align: center;
}
.lista li:last-child {
  text-align: right;
}

Diseño responsivo y consultas de medios.

Es habitual cambiar la alineación según el ancho de pantalla: centrado en móvil para facilitar la lectura y el toque, alineado a la izquierda en escritorio para un estilo más tradicional. Con media queries lo automatiza sin duplicar HTML.

.cabecera {
  text-align: center;
}
@media (min-width: 768px) {
  .cabecera {
    text-align: left;
  }
}

También puedes centrar títulos y botones en vistas pequeñas y colocarlos a inicio/fin en diseños RTL/LTR sin tocar el CSS cuando cambie el idioma. Usa valores lógicos siempre que sea posible para reducir el mantenimiento.

Tabla de propiedades relacionadas

Estas propiedades suelen ir de la mano cuando trabajas con alineación y dirección del texto. Repasarlas juntas ayuda a construir sistemas tipográficos robustos:

Dueña(o) Descripción:
dirección Defina la dirección de escritura (LTR/RTL).
text-align Controla la alineación horizontal del contenido inline.
texto-alinear-al-último Alinea específicamente la última línea de un párrafo.
unicode-bidi Gestiona cómo se anidan y resuelven direcciones de texto mezclados.
alineación vertical Ajusta la alineación vertical en líneas y celdas.

Combinarlas bien te permite resolver desde interfaces multilingües complejas hasta detalles tipográficos muy precisos en tarjetas, tablas o componentes reutilizables. Planifica valores por defecto y excepciones con cabeza.

Compatibilidad de navegadores

La propiedad text-align cuenta con soporte muy amplio desde versiones iniciales en los navegadores modernos, por lo que puedes usarla con tranquilidad en proyectos de producción. Los valores clásicos operan sin problemas prácticamente en todas partes..

  • Google Chrome: 1.0
  • Internet Explorer: 3.0
  • Microsoft Edge: 12.0
  • Firefox: 1.0
  • Opera: 3.5
  • Safari: 1.0

Diez en cuenta que los matices de justificado pueden variar entre motores (por ejemplo, Firefox frente a Chrome/Safari). Si la apariencia precisa del justificado es crítica, valida el resultado visual en los navegadores objetivo.

Ejemplos rápidos de valores tradicionales

Izquierda (por defecto en LTR): alineación natural para la mayoría de idiomas occidentales. Útil para lectura cómoda y patrones de escaneo previsibles.

p.izquierda {
  text-align: left;
}

Derecha: útil para metadatos, firmas, fecha y bloques secundarios. Crea contraste con el contenido principal.

p.derecha {
  text-align: right;
}

Centrado: ideal para títulos, CTA o bloques breves donde se busca foco visual inmediato. Evítalo en párrafos largos por legibilidad.

.cta-titulo {
  text-align: center;
}

Justificado: estética de columna editorial con bordes rectos. Combínalo con partición de palabras cuando proceda.

.columna {
  text-align: justify;
}

Buenas prácticas y recomendaciones

No abuses del justificado en columnas muy estrechas, porque puede generar espacios irregulares. La legibilidad es prioritaria. Ajusta de línea y, si es posible, habilita guiones automáticos.

Cuando maquetes en entornos multilingües, prioriza comienzo y final para adaptarte sin tocar CSS al cambiar el idioma. Te ahorras hojas duplicadas y reducir errores.

Si un inline no responde a text-align como esperas, mira la pantalla de su contenedor. Muchas veces el problema se resuelve aplicando la propiedad en el bloque padre o cambiar la visualización del elemento.

En componentes complejos con varias capas, documenta. dónde se establece la alineación “base” y dónde se permiten excepciones. Una jerarquía clara evita sobrescrituras innecesarias y estilos frágiles.

Limitaciones, rarezas y futuro de la especificación

La especifica contempla ideas como alinear la primera línea distinta del resto con una notación compuesta (inicio fin), O alinear por una cadena (por ejemplo, text-align: "." start;) para columnas numéricas con separador decimal. Hoy por hoy no cuentan con soporte práctico en los navegadores, pero apuntan a casos de uso reales en tablas y listados.

recuérdalo text-align no resuelve la alineación vertical ni el centrado del propio bloquePara eso, usa alineación vertical (en su contexto), Flexbox o Grid. responsabilidades separadas te ahorras frustraciones y resultados inconsistentes.

Respecto a la compatibilidad, los valores tradicionales tienen muy sólido. En justificado, los motores pueden diferir en el reparto de espacios; valida si tu branding exige homogeneidad absoluta. La experiencia real del usuario manda.

Demostraciones rápidas con HTML y CSS

Uso directo en un título centrado: un clásico que funciona para héroes encabezados y bloques destacados.

<h1 class="titulo">Alineación con text-align</h1>
<style>
  .titulo { text-align: center; }
</style>

Contenedor que centra el contenido inline y un párrafo justificado: combinación frecuente en artículos.

<div class="intro">
  <p>Este es un párrafo de introducción con márgenes pulidos.</p>
</div>
<style>
  .intro { text-align: center; }
  .intro p { text-align: justify; }
</style>

Aplicar texto-alinear-al-último para destacar el cierre del párrafo: control fino sin tocar el contenido.

<p class="cierre">La última línea quedará centrada, resaltando el final.</p>
<style>
  .cierre {
    text-align: justify;
    text-align-last: center;
  }
</style>

Ejemplo con valores lógicos inicio/fin que se adaptan a LTR/RTL: ideal para productos globales.

<div class="tarjeta">
  <h3 class="tarjeta__titulo">Título de tarjeta</h3>
  <p class="tarjeta__texto">Texto descriptivo del contenido.</p>
</div>
<style>
  .tarjeta__titulo { text-align: start; }
  .tarjeta__texto  { text-align: end; }
</style>

Y si necesitas alineacion vertical en linea (por ejemplo, icono y texto): vertical-align te saca del apuro.

<span class="icono">★</span> <span class="label">Favorito</span>
<style>
  .icono { vertical-align: middle; }
  .label { vertical-align: middle; }
</style>

En escenarios de lista de artículos, puedes alinear los metadatos a la derecha y el título al inicio con valores lógicos. La jerarquía visual queda clara y se adapta a la dirección del texto.

.post__title { text-align: start; }
.post__meta  { text-align: end; }

Si usas una red de tarjetas, céntricas a nivel de contenido con text-align y deja al sistema de diseño (Grid/Flex) el reparto espacial. Separa responsabilidades y evita conflictos.

.grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.card { text-align: center; padding: 1rem; border: 1px solid #e5e5e5; }

Por último, si quieres que todo el cuerpo herede una alineación por defecto, puedes aplicarlo al nivel raíz y ajustar excepciones en componentes concretos. Ten cuidado con el alcance para no centrar texto que deba ir alineado a inicio por accesibilidad.

body { text-align: left; }
.header, .hero { text-align: center; }

La clave con text-align es entender que actúa sobre el contenido en línea del contenedor, elija el valor adecuado para el idioma y el dispositivo, y combínelo con propiedades afines como texto-alinear-al-último, dirección y alineación vertical cuando la situación lo requiera. Con estas pautas, lograrás resultados consistentes, legibles y fáciles de mantener..

Artículos Relacionados: