- text-align alinea horizontalmente el contenido inline: kiri, kanan, tengah, justify, start, end y match-parent.
- Valores logicos (mula/akhir) sesuai dengan LTR/RTL; text-align-last afina la última línea.
- Keserasian muy amplia; el justificado boleh berubah-ubah pada motor seperti Firefox dan 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 line dentro de un element contenedor, y es clave for organizar párrafos, titulares, menus or llamadas a la acción con un estilo coherente y legible.
Además de las opciones clásicas como kiri, kanan, pusat y mewajarkan, hoy en día contamos con valores logicos que se adaptan a la dirección del texto, como permulaan, akhir o el minatante padan-induk. Estas variantes facilitan la internacionalización (LTR/RTL) y evitan tener que reescribir styles cuando cambian los idiomas or la dirección de escritura.
Qué es text-align y para qué sirve
Harta text-align khusus 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 (untuk eso hay otras técnicas), sino que controla cómo se alinean las líneas de texto y otros elements inline/inline-block en su interior.
Dalam amalan, dan aplikas text-align mempunyai a <div> atau untuk <section>, mempengaruhi teks anda untuk melakukan sea inline atau inline-block dentro de ese contenedor: enlaces, iconos inline, imágenes con display: inline, y elemen serupa. A su vez, los descendientes pueden heredar este valor y, si lo necesitas, puedes sobrescribirlo en niveles inferiores.
Un detalle important es que, en la mayoría de idiomas que se escriben de izquierda a derecha (LTR), el valor por defecto de text-align es kiri. 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 kanan. Por eso es útil conocer los valores logicos como permulaan y akhir.
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 am 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: kiri (alineación a la izquierda), kanan (a la derecha), pusat (centrado) y mewajarkan (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: permulaan y akhir selaraskan dengan LTR/RTL yang tidak sesuai dengan gaya gaya; padan-induk mengira alineación en función de la dirección del elemen actual y su padre; mewarisi fuerza la herencia del valor del padre; e awal restablece el valor al predeterminado del estándar. Estos valores facilitan la internacionalización y el mantenimiento.
Terdapat juga comportamiento especificado tetapi aún sin soporte en los navegadores según la especificación: sebagai contoh, gabungan mula tamat 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, sebagai contoh, bilangan alinear bagi perpuluhan pemisah. Anak idea berminat aún tiada implementadas dalam latihan.
Cómo se aplica sobre distintos types de elements
text-align actúa sobre el contenido inline del contenedor (texto, inline-blocks, imágenes inline, dsb.). Jika anda ingin memusatkan elemen sebaris, anda boleh melihatnya bersama-sama dengan kandungan tenga text-align: center;. En cambio, para centrar el propio contenedor de bloque necesitas otras técnicas (contohnya, margin: 0 auto; con un ancho definido) atau menggunakan sistem susun atur moden seperti Flexbox atau Grid.
Si lo que tienes es un element estrictamente sebaris (sebagai <span>) y quieres aplicar un text-align khususnya, recuerda que esta propiedad no se aplica “directamente” al inline aislado; o bien actúas en su contenedor de bloque, atau 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;
}
Juga ingat itu text-align no está pensado for alinear verticalmente. Para la alineación vertical del contenido inline existen valores de vertical-align, y untuk blok o reka letak selesai, Flexbox o Grid anak la pilihan 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. Sebagai contoh, pusat titular puede dar más énfasis visual, mientras que un párrafo justificado aporta un acabado con márgenes rectos a ambos lados, al gaya de revistas y periódicos. Memilih según el tono del contenido y la legibilidad.
h1 {
text-align: center;
}
.articulo p {
text-align: justify;
}
Dalam a bar navigasi puedes optar por un centrado si quieres una estética equilibrada y visible en pantallas grandes. Funciona muy bien en webs corporativas or landing page que buscan simetría.
.nav {
text-align: center;
}
.nav a {
display: inline-block;
padding: .5rem 1rem;
}
Dalam pengaki es habitual alinear ciertos bloques a la derecha para distinguirlos del flujo principal del texto; sebagai contoh, data pengarang, memasukkan undang-undang atau ikon redes. Esei kontras ayuda a separar jerarquías visuales.
footer .meta {
text-align: right;
}
En panggilan untuk bertindak (CTA) centradas, el mensaje destaca rápidamente y facilita el clic en mobile. Puedes combinar un fondo llamativo con texto centrado for 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: mula, tamat y padanan-induk
Con idiomas LTR como el español o el inglés, mulakan bersamaan dengan kiri y tamat bersamaan dengan hak. En textos RTL (arabe, hebreo), mula es kanan y tamat es kiri. Dengan cara ini, anda CSS menyesuaikan diri dengan automatis dan arahan teks reglas pendua dosa.
/* Se adapta a LTR y RTL */
.card__title {
text-align: start;
}
.card__meta {
text-align: end;
}
Nilai padan-induk serupa dengan mewarisi, tetapi calcula el resultdo en función de la arah elemen sebenar y su padre. Es útil cuando hay mezclas de direcciones y memerlukan mantener consistencia sin forzar valores absolutos.
Justificado: consideraciones de legibilidad
Gunakan text-align: justify; crea márgenes rectos a ambos lados repartiendo espacios entre palabras. Queda muy “editor”, tetapi conviene cuidar la medida de línea y el interletrado for 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, seperti Firefox, pueden gestionar el espaciado al justificar de forma ligeramente distinta a Chrome o Safari. Tiada ralat, 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 interestarte indicar cómo se alinea la última línea de un párrafo. Ahí entra text-align-last, que admite valores como auto, kiri, kanan, pusat, mewajarkan, permulaan y akhir. Permite refinar el remate del párrafo.
.parrafo {
text-align: justify;
text-align-last: center; /* la última línea se centra */
}
Nilai auto menuntut justificar y alinear a la izquierda en contextos LTR, mientras que permulaan y akhir 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
Harta direction mentakrifkan arahan escritura dentro de un element: LTR atau RTL. En combinación con unicode-bidi anda boleh forzar or anidar directions en textos con múltiples idiomas. Terutamanya untuk antara muka berbilang bahasa 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 */
}
Gabungkan arah dengan 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 menegak: menegak-menjajarkan y alternativas
Tiada konsep yang boleh membingungkan: jajaran teks solo alinea secara mendatar. Para menegak, CSS ofrece vertical-align en el contexto de kandungan sebaris dan celdas de tabla. No sirve para centrar bloques completos, tetapi sí para ajustar la línea base or colocación vertical relativa.
Nilai daripada vertical-align yang boleh anda gunakan: asas (lalai), sub, super, bahagian, atas teks, tengah, bawah, bahagian bawah teks, sebagai tambahan kepada longitud y porcentajes untuk desplazar respecto a la línea base. Son muy útiles for iconos inline, superíndices or tablas.
- asas: alinea con la línea base del padre.
- sub / super: subíndis simulan y superíndices.
- bahagian / bawah: se alinean con el element más alto/bajo de la línea.
- atas teks / bahagian bawah teks: se alinean con la part alta/baja de la fuente del padre.
- tengah: centra aproximadamente respecto a la x-height; útil con iconos.
- longitud/%: ajusta desplazamientos finos.
Para centrar verticalmente blok lengkap, es más eficaz usar Flexbox o Grid CSS. Anak-anak sistem diseñados untuk susun atur dan 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 element hijo.
.padre {
text-align: center;
}
.padre .hijo {
text-align: left; /* sobrescribe la herencia */
}
dengan combinadores y selectores de mayor especificidad puedes ajustar alineaciones en nodos concretos: por ejemplo, alinear a la derecha solo los últimos elements de una lista dentro de un bloque centrado. El kawalan fino se logra combinando selectores correctamente.
.lista {
text-align: center;
}
.lista li:last-child {
text-align: right;
}
Diseño responsivo y pertanyaan media
Es biasa cambiar la alineación según el ancho de pantalla: centrado en móvil untuk facilitar lecture y toque, alineado a la izquierda en escritorio for un style más tradicional. Cari pertanyaan media untuk mengautomasikan HTML pendua.
.cabecera {
text-align: center;
}
@media (min-width: 768px) {
.cabecera {
text-align: left;
}
}
También puedes centrar titulos y botones en vistas pequeñas y colocarlos a mula/akhir dalam susun atur RTL/LTR tidak boleh digunakan dalam CSS menggunakan idioma. Usa valores logicos siempre que sea possible untuk mengurangkan penyelenggaraan.
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:
| Harta | Huraian |
|---|---|
| arah | Takrifkan 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. |
| menegak-sejajar | Ajusta la alineación vertical en líneas y celdas. |
Combinarlas bien te permite solver desde antara muka multibahasa complejas mempunyai maklumat terperinci tentang kad, tab atau komponen yang boleh digunakan semula. Planifica valores por defecto y excepciones con cabeza.
Keserasian navegadores
Harta 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 problems prácticamente en todas parts.
- Google Chrome: 1.0
- Internet Explorer: 3.0
- Microsoft Edge: 12.0
- Firefox: 1.0
- opera: 3.5
- Safari: 1.0
Harap maklum bahawa los matices de justificado boleh berubah-ubah entre motores (contohnya, Firefox menggunakan Chrome/Safari). Si la apariencia precisa del justificado es critica, valida el resultdo visual en los navegadores objetivo.
Contoh rápidos de valores tradicionales
Izquierda (secara 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;
}
Kanan: útil para metadatos, firmas, fecha y bloques secundarios. Cipta kontras dengan prinsip isi kandungan.
p.derecha {
text-align: right;
}
Centrado: sesuai untuk tajuk, CTA atau bloques breves donde se busca foco visual inmediato. Evítalo en párrafos largos por legibilidad.
.cta-titulo {
text-align: center;
}
Wajar: estética de columna editorial con bordes rectos. Combínalo con partición de palabras cuando proceda.
.columna {
text-align: justify;
}
Amalan dan cadangan yang baik
Tiada penyalahgunaan del justificado en columnas muy estrechas, porque puede generar espacios irregulares. La legibilidad es prioritaria. Ajusta medidas de línea y, si es possible, habilita guiones automáticos.
Cuando maquetes en entornos berbilang bahasa, utamakan permulaan y akhir untuk menyesuaikan diri dengan CSS dalam cambiar el idioma. Te ahorra hojas duplicadas dan mengurangkan ralat.
Si un inline no responde a text-align como esperas, mira el paparan de su contenedor. Banyak masalah yang timbul aplicando la propiedad en el bloque padre o cambiando el paparan elemen.
En componentes complejos con varias capas, documenta donde se establece la alineación “base” y dónde se permiten excepciones. Una jerarquía clara evita sobrescrituras innecesarias y estilos rapuh.
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 (mula tamat), Atau alinear por una cadena (contohnya, text-align: "." start;) para columnas numéricas con separador decimal. Hoy por hoy no cuentan con soporte práctico en los navegadores, but apuntan a casos de uso reales en tablas y listados.
Ingat text-align no resuelve la alineación vertical ni el centrado del propio bloque. Para eso, usa menegak-sejajar (en su contexto), Kotak Flex atau Grid. Tanggungjawab berasingan te ahorra frustraciones y resultdos inconsistentes.
Menghormati keserasian, los valores tradicionales tienen menyokong muy sólido. Dalam dibenarkan, 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
Menggunakan arahan dalam pusat bergelar: un clásico que funciona untuk tajuk hero 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 articulos.
<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>
Memohon text-align-last untuk destacar el cierre del párrafo: mengawal 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>
Contoh con valores logicos mula/akhir 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>
Dan sekiranya anda memerlukan alineación menegak en línea (contohnya, ikon dan teks): 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; }
Sekiranya anda menggunakan a rak de tarjetas, céntralas a nivel de contenido con text-align y deja al susun atur (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; }
Oleh itu, si quieres que todo el body herede una alineación por defecto, puedes aplicarlo al nivel raíz y ajustar excepciones en componentes concretos. Sepuluh cuidado con el alcance for 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 inline del contenedor, elegir el valor adecuado for el idioma y el dispositivo, y combinarlo con propiedades afines como text-align-last, arah y menegak-sejajar cuando la situación lo requiera. Con estas pautas, lográs resultdos consistentes, legibles y faciles de mantener.