text-align
The text-align CSS property sets the horizontal alignment of the content inside a block element or table-cell box. This means it works like vertical-align but in the horizontal direction.
Syntax
/* Keyword values */
text-align: start;
text-align: end;
text-align: left;
text-align: right;
text-align: center;
text-align: justify;
text-align: justify-all;
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: revert;
text-align: unset;
The text-align property is specified in one of the following ways:
- Using the keyword values start,end,left,right,center,justify,justify-all, ormatch-parent.
- Using a <string>value only, in which case the other value defaults toright.
- Using both a keyword value and a <string>value.
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.
- <string>
- 
    When applied to a table cell, specifies the alignment character around which the cell's contents will align. 
Accessibility concerns
The inconsistent spacing between words created by justified text can be problematic for people with cognitive concerns such as Dyslexia.
Formal definition
| Initial value | start, or a nameless value that acts asleftifdirectionisltr,rightifdirectionisrtlifstartis not supported by the browser. | 
|---|---|
| Applies to | block containers | 
| Inherited | yes | 
| Computed value | as specified, except for the match-parentvalue which is calculated against its parent'sdirectionvalue and results in a computed value of eitherleftorright | 
| Animation type | discrete | 
Formal syntax
Examples
Start 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: start;
  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
Example using "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
Specifications
| Specification | 
|---|
| CSS Logical Properties and Values Level 1 # text-align | 
| CSS Text Module Level 3 # text-align-property | 
Browser compatibility
BCD tables only load in the browser