W3cubDocs

/CSS

text-align

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.

Syntax

/* 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:

Values

start
The same as left if direction is left-to-right and right if direction is right-to-left.
end
The same as right if direction is left-to-right and left if direction is right-to-left.
left
The inline contents are aligned to the left edge of the line box.
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 values start and end are calculated according to the parent's direction and are replaced by the appropriate left or right value.
<string>
When applied to a table cell, specifies the alignment character around which the cell's contents will align.

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;
}

Accessibility concerns

The inconsistent spacing between words created by justified text can be problematic for people with cognitive concerns such as Dyslexia.

Specifications

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

Browser compatibilityUpdate compatibility data on GitHub

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
Prefixed
1
Prefixed
Prefixed Requires the vendor prefix: -webkit-
? 1
Prefixed
1
Prefixed
Prefixed Requires the vendor prefix: -moz-
No ? 1.3
Prefixed
1.3
Prefixed
Prefixed Requires the vendor prefix: -webkit-
1
Prefixed
Prefixed Requires the vendor prefix: -khtml-
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 ?

See also

© 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