- text-align alinea horizontalmente el contenido inline: kaliwa, kanan, gitna, bigyang-katwiran, simula, wakas y tugma-magulang.
- Valores logicos (start/end) se adaptan a LTR/RTL; text-align-last afina la última línea.
- Compatibility muy amplia; el justificado puede variar entre motores como Firefox at Chrome.
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, titulares, menus o llamadas a la acción con un estilo coherente y nababasa.
Además de las opciones clásicas como left , right , center y justify , hoy en día contamos con valores lógicos que se adaptan a la dirección del texto, como start , end o el interesante match-parent . Ang mga variant ng facilitan la internacionalización (LTR/RTL) at evitan tener que reescribir styles cuando cambian los idiomas o la dirección de escritura.
Qué es text-align y para qué sirve
Ang pag-aari text-align espesipiko la alineación horizontal del contenido en línea que vive dentro de un elemento de bloque (o elementos con comportamiento similar). Walang centra ni desplaza el propio bloque (para sa eso hay otras técnicas), sino que controla cómo se alinean las líneas de texto y otros elemento inline/inline-block en su interior.
En la práctica, si aplicas text-align sa isang <div> o a <section>, makakaapekto sa texto ya todo lo que sea inline o inline-block dentro de ese contenedor: enlaces, iconos inline, imágenes con display: inline, y mga elementong magkakatulad. 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 idiomas que se escriben de izquierda a derecha (LTR), el valor por defecto de text-align es kaliwa. 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 karapatan. Por eso es útil conocer los valores logicos como simula y dulo.
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 a alinear. 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: kaliwa (alineación a la izquierda), kanan (a la derecha), center (centrado) y justify (márgenes alineados repartiendo espacio entre palabras). Son los más extendidos y ampliamente soportados por los navegadores.
Además, CSS incorpora valores logicos y de herencia muy útiles: simula at tapusin ang adaptan a LTR/RTL sin que tengas que cambiar estilos; match-parent calcula la alineación en función de la dirección del elemento actual y su padre; magmana ng fuerza la herencia del valor del padre; at paunang pagpapanumbalik ng lakas ng loob at predeterminado del estándar. Estos valores facilitan la internacionalización y el mantenimiento.
Mayroon ding comportamiento especificado pero aún sin soporte en los navegadores según la especificación: halimbawa, combinar simula katapusan para alinear la primera línea de un modo y el resto de otro, o alinear por isang cadena con una sintaxis del tipo text-align: "." start; para, halimbawa, alinear números por el separador decimal. Anak ideya interesantes aún no implementadas sa pagsasanay.
Cómo se aplica sobre distintos tipos de elementos
text-align actúa sobre el contention inline del contenedor (texto, inline-blocks, imágenes inline, atbp.). Si quieres centrar un elemento inline, puede bastar con que el contenedor tenga text-align: center;. En cambio, para centrar el propio contenedor de bloque necesitas otras técnicas (halimbawa, margin: 0 auto; con un ancho definido) o gumamit ng modernong mga sistema ng layout tulad ng Flexbox o Grid.
Si lo que tienes es un elemento estrictamente inline (bilang isang <span>) y quieres aplicar un text-align específico, recuerda que esta propiedad no se aplica “directamente” al inline aislado; o bien actúas en su contenedor de bloqueo conviertes ese inline en bloque usando algo como display: block para que pueda alinearse 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;
}
Tandaan din yan text-align no está pensado para sa alinear verticalmente. Para sa alineación vertical del contenido inline existen valores de vertical-align, y para sa mga bloque o layout na kumpleto, Flexbox o parilya son la opción preferente.
Casos de uso frecuentes y ejemplos
Un uso muy común es la alineación de encabezados y párrafos de una sección. Halimbawa, centrar un titular 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. Eligse 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 page 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; halimbawa, datos ng awtor, nagsasama ng mga legal o mga icon ng 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 click en mobile. 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 logicos: simula, wakas y tugma-magulang
Con idiomas LTR como el español o el inglés, simula katumbas ng kaliwa y dulo katumbas ng kanan . Sa textos RTL (árabe, hebreo), magsimula sa kanan at dulo sa kaliwa . Sa pamamagitan ng modo na ito, ang CSS ay iniangkop sa awtomatikong pag-aayos ng direksiyon ng teksto sa mga duplicar na reglas.
/* Se adapta a LTR y RTL */
.card__title {
text-align: start;
}
.card__meta {
text-align: end;
}
El valor match-parent es similar a inherit , 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 text-align: justify; 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 espaciado al justificar de forma ligeramente distinta a Chrome o Safari. No es un error, sino diferencias de motor . Si el justificado es critico para tu diseño, prueba en varios navegadores.
text-align-last: controla la última línea
Cuando justificas o alineas bloques complejos, puede interesarte indicar cómo se alinea la última línea de un párrafo. Ahí entra text-align-last, que admite valores como kotse, kaliwa, karapatan, sentro, pawalang-sala, simula y dulo. 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 start y end respetan la dirección del texto. Es una forma fina de controlar el ritmo del párrafo sin romper la estética general.
Direksyon ng texto y combinación con unicode-bidi
Ang pag-aari direction tumutukoy sa dirección de escritura dentro de un elemento: LTR o RTL. En combinación con unicode-bidi maaari mong forzar o anidar direcciones en textos con múltiples idiomas. Especialmente útil en interface multilingües o cuando insertas 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 */
}
Combinar direction con valores logicos 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
Walang hay que confundir conceptos: text-align solo alinea en horizontal. Para vertical, CSS ofrece vertical-align en el contexto de contenido inline y celdas de tabla. Walang sirve para centrar bloques completos, pero sí para ajustar la línea base o colocación vertical relativa.
Mga halaga ng vertical-align na maaari mong gamitin: baseline (default), sub, super, tuktok, text-top, gitna, ilalim, ibaba ng teksto, Plus longitudes y porcentojes para desplazar respecto a la línea base. Son muy útiles para sa mga icon na inline, superíndices o tablas.
- baseline: alinea con la línea base del padre.
- sub / super: simulan subíndices y superíndices.
- tuktok / ilalim: se alinean con el elemento más alto/bajo de la línea.
- text-top / ibaba ng teksto: se alinean con la parte alta/baja de la fuente del padre.
- gitna: centra aproximadamente respecto a la x-height; útil con iconos.
- longitude/%: ajusta desplazamientos finos.
Para sa centrar verticalmente bloques completos , ay mas epektibo ang paggamit ng Flexbox o CSS Grid . Son sistemas diseñados para sa mga layout at resuelven estos casos de forma fiable en cualquier viewport.
.centro-vertical {
display: flex;
align-items: center; /* centrado vertical */
justify-content: center; /* opcional: centrado horizontal */
}
Herencia, alcance y cómo sobrescribir
Los elementos hijos suelen 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 elemento 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 media query
Es habitual cambiar la alineación según el ancho de pantalla : centrado en móvil para facilitar lectura y toque, alineado a la izquierda en escritorio para un estilo más tradicional. Kunin ang mga query sa media upang i-automate ang duplicar na 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 start/end en layouts RTL/LTR sin tocar el CSS cuando cambie el idioma. Usa valores logicos siempre que sea possible para reducir 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 :
| Ari-arian | paglalarawan |
|---|---|
| utos | Tukuyin ang la dirección de escritura (LTR/RTL). |
| text-align | Controla la alineación horizontal del contenido inline. |
| text-align-last | Alinea específicamente la última línea de un párrafo. |
| unicode-bidi | Gestiona cómo se anidan y resuelven direcciones de texto mezcladas. |
| patayo-align | 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 cards, tablas o componentes reutilizables. Planifica valores por defecto y excepciones con cabeza.
Compatibility 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
Sampung en cuenta que los matices de justificado pueden variar entre motores (halimbawa, Firefox frente sa Chrome/Safari). Si la apariencia precisa del justificado es critica , 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 . Gumawa ng contraste con el contenido principal.
p.derecha {
text-align: right;
}
Centrado: ideal para sa mga titulo, 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;
}
Magandang kasanayan at rekomendasyon
No abuses del justificado en columnas muy estrechas , porque puede generar espacios irregulares. La legibilidad es prioritaria . Ajusta medidas de línea y, si es posible, habilita guiones automáticos.
Cuando maquetes en entornos multilingües , prioriza start y end para adaptarte sin tocar CSS al cambiar el idioma. Te ahorra hojas duplicadas y bawasan ang mga error.
Si un inline no responde a text-align como esperas, mira el display de su contenedor. Maraming mga problema sa resuelve aplicando la propiedad en el bloque padre o cambiando el display del elemento.
En componentes complejos con varias capas, documenta dónde se stablece 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 especificación contempla ideas como alinear la primera línea distinto del resto con una notación compuesta (simula katapusan), ang alinear por isang cadena (halimbawa, text-align: "." start;) para sa mga 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.
Recuerda que text-align no resuelve la alineación vertical ni el centrado del propio bloque . Para eso, isa vertical-align (en su contexto), Flexbox o Grid. Paghiwalayin ang mga pananagutan sa pagkabigo at mga resulta ng hindi pagkakapare-pareho.
Respecto a compatibilidad, los valores tradicionales tienen soporte 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 sa HTML at CSS
Gumagamit ng direksiyon sa isang titular na sentro: isang clásico que funciona para sa mga heading ng bayani 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 text-align-last 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>
Halimbawa con valores logicos start/end 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 alineación vertical en línea (halimbawa, 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 logicos. 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; }
Kung gumagamit ka ng a raketa de tarjetas, céntralas a nivel de contenido con text-align y deja al sistema ng layout (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 body herede una alineación por defecto, puedes aplicarlo al nivel raíz y ajustar excepciones en componentes concretos . Sampung cuidado con el alcance para no centrar texto que deba ir alineado at 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 inline del contenedor, elegir el valor adecuado para el idioma y el dispositivo, y combinarlo con propiedades afines como text-align-last , direksyon y vertical-align cuando la situación lo requiera. Con estas pautas, lograrás resultados consistentes, legibles y faciles de mantener.