The text-align CSS property specifies the horizontal alignment of an inline or table-cell box.This means it works like vertical-align but in the horizontal direction.
/* Keyword values */ text-align: left; text-align: right; text-align: center; text-align: justify; text-align: justify-all; text-align: start; text-align: end; text-align: match-parent; /* Character-based alignment in a table column */ text-align: "."; text-align: "." center; /* Block alignment values (Non-standard syntax) */ text-align: -moz-center; text-align: -webkit-center; /* Global values */ text-align: inherit; text-align: initial; text-align: unset;
The text-align property is specified in one of the following ways:
start, end, left, right, center, justify, justify-all, or match-parent.<string> value only, in which case the other value defaults to right.<string> value.start
left if direction is left-to-right and right if direction is right-to-left.end
right if direction is left-to-right and left if direction is right-to-left.leftrightcenterjustifyjustify-all justify, but also forces the last line to be justified.match-parent
inherit, but the values start and end are calculated according to the parent's direction and are replaced by the appropriate left or right value.<string>
start | end | left | right | center | justify | match-parent
<p class="example"> Integer elementum massa at nulla placerat varius. Suspendisse in libero risus, in interdum massa. Vestibulum ac leo vitae metus faucibus gravida ac in neque. Nullam est eros, suscipit sed dictum quis, accumsan a ligula. </p>
.example {
text-align: left;
border: solid;
} <p class="example"> Integer elementum massa at nulla placerat varius. Suspendisse in libero risus, in interdum massa. Vestibulum ac leo vitae metus faucibus gravida ac in neque. Nullam est eros, suscipit sed dictum quis, accumsan a ligula. </p>
.example {
text-align: center;
border: solid;
} <p class="example"> Integer elementum massa at nulla placerat varius. Suspendisse in libero risus, in interdum massa. Vestibulum ac leo vitae metus faucibus gravida ac in neque. Nullam est eros, suscipit sed dictum quis, accumsan a ligula. </p>
.example {
text-align: justify;
border: solid;
} The standard-compatible way to center a block itself without centering its inline content is setting the left and right margin to auto, e.g.:
.something {
margin: auto;
}
.something {
margin: 0 auto;
}
.something {
margin-left: auto;
margin-right: auto;
}
The inconsistent spacing between words created by justified text can be problematic for people with cognitive concerns such as Dyslexia.
| Specification | Status | Comment |
|---|---|---|
| CSS Logical Properties and Values Level 1 The definition of 'text-align' in that specification. | Editor's Draft | No changes |
| CSS Text Module Level 4 The definition of 'text-align' in that specification. | Editor's Draft | Added the <string> value. |
| CSS Text Module Level 3 The definition of 'text-align' in that specification. | Working Draft | Added the start, end, and match-parent values. Changed the unnamed initial value to start (which it was). |
| CSS Level 2 (Revision 1) The definition of 'text-align' in that specification. | Recommendation | No changes |
| CSS Level 1 The definition of 'text-align' in that specification. | Recommendation | Initial definition |
| Initial value |
start, or a nameless value that acts as left if direction is ltr, right if direction is rtl if start is not supported by the browser. |
|---|---|
| Applies to | block containers |
| Inherited | yes |
| Media | visual |
| Computed value | as specified, except for the match-parent value which is calculated against its parent's direction value and results in a computed value of either left or right
|
| Animation type | discrete |
| Canonical order | order of appearance in the formal grammar of the values |
| Desktop | ||||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | |
| Basic support | 1 | 12 | 1 | 3 | Yes | 1 |
Prefixed center, left, and right values for block alignment
|
1
|
? | 1
|
No | ? | 1.3
|
Flow-relative values start and end
|
1 | No | 1 | No | ? | 3.1 |
match-parent
|
16 | ? | 40 | No | ? | No |
justify-all
|
No | No | No | No | No | No |
Character-based alignment in a table column (<string> value)
|
No | ? | No | ? | ? | No |
| Mobile | |||||||
|---|---|---|---|---|---|---|---|
| Android webview | Chrome for Android | Edge Mobile | Firefox for Android | Opera for Android | iOS Safari | Samsung Internet | |
| Basic support | Yes | Yes | Yes | 4 | Yes | ? | Yes |
Prefixed center, left, and right values for block alignment
|
? | ? | ? | ? | ? | ? | ? |
Flow-relative values start and end
|
? | ? | ? | 4 | ? | ? | ? |
match-parent
|
? | ? | ? | 40 | ? | ? | ? |
justify-all
|
No | No | No | No | No | No | No |
Character-based alignment in a table column (<string> value)
|
? | ? | ? | ? | ? | No | ? |
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/text-align