The text-align CSS property describes how inline content like text is aligned in its parent block element. text-align does not control the alignment of block elements, only their inline content.
/* 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; /* 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;
| 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 |
Syntax
The text-align property is specified as a single keyword chosen from the list of values below.
Values
start- The same as
leftif direction is left-to-right andrightif direction is right-to-left. end- The same as
rightif direction is left-to-right andleftif direction is right-to-left. left- The inline contents are aligned to the left edge of the line box.
right- The inline contents are aligned to the right edge of the line box.
center- The inline contents are centered within the line box.
justify- The inline contents are justified. Text should be spaced to line up its left and right edges to the left and right edges of the line box, except for the last line.
justify-all- Same as
justify, but also forces the last line to be justified. match-parent- Similar to
inherit, but the valuesstartandendare calculated according to the parent'sdirectionand are replaced by the appropriateleftorrightvalue.
Formal syntax
start | end | left | right | center | justify | match-parent
Examples
Left alignment
HTML
<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>
CSS
.example {
text-align: left;
border: solid;
}
Result
Centered text
HTML
<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>
CSS
.example {
text-align: center;
border: solid;
}
Result
Justify
HTML
<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>
CSS
.example {
text-align: justify;
border: solid;
}
Result
Notes
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;
}
Specifications
| Specification | Status | Comment |
|---|---|---|
| CSS Logical Properties Level 1 The definition of 'text-align' in that specification. |
Editor's Draft | No changes |
| 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 |
Browser compatibility
| Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|---|
Basic support (left, right, center and justify) |
1.0 | (Yes) | 1.0 (1.7 or earlier) | 3.0 | 3.5 | 1.0 (85) |
| Block alignment values | 1.0-webkit | ? | 1.0 (1.7 or earlier)-moz[1] | No support | No support | 1.0 (85)-khtml 1.3 (312)-webkit [1] |
start |
1.0 | ? | 1.0 (1.7 or earlier) | No support | (Yes) | 3.1 (525) |
end |
1.0 | ? | 3.6 (1.9.2) | No support | (Yes) | 3.1 (525) |
match-parent |
16 | ? | 40 (40) | No support | No support | No support |
| Feature | Android | Chrome for Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|---|
| Basic support | ? | ? | (Yes) | ? | ? | ? | ? |
| Block alignment values | ? | ? | ? | ? | ? | ? | ? |
start |
? | ? | ? | ? | ? | ? | ? |
end |
? | ? | ? | ? | ? | ? | ? |
match-parent |
? | ? | ? | 40.0 (40) | ? | ? | ? |
true(non-standard syntax) |
No support | No support | ? | ? | No support | No support | No support |
[1] Both WebKit and Gecko support a prefixed version of left, center, and right, that applies not only to inline content but also to block elements. This is used to implement the legacy align attributes on table elements and <center>. Do not use these on production Web sites.
See also
Document Tags and Contributors
Tags:
Contributors to this page:
mfluehr,
wbamberg,
Wliu,
ttromey,
erikadoyle,
NicolasGoudry,
Tigt,
teoli,
yisibl,
Sebastianz,
fscholz,
cvrebert,
Jeremie,
Mardeg,
tregagnon,
Sheppy,
kscarfone,
syoichi,
ethertank,
ziyunfei,
Marcoos,
Jürgen Jeka,
Federico,
BijuGC,
Fredchat,
DBaron,
Backinblakk
Last updated by:
mfluehr,