20

What is the difference between text-align: end; and text-align: right;?

When I use either one I get the same result, but is there any differences?

Brian Nezhad
  • 6,148
  • 9
  • 44
  • 69

2 Answers2

36

According to https://developer.mozilla.org/en/docs/Web/CSS/text-align:

  • end
    The same as right if direction is left-to-right and left if direction is right-to-left.

  • right
    The inline contents are aligned to the right edge of the line box.

Basically you use end in tandem to direction: [rtl|ltr] and end will adjust accordingly, whereas right will always keep your text to the right no matter what direction you set.

https://jsfiddle.net/ths4kdmx/

.end {
  text-align: end;
}
.right {
  text-align: right;
}
.dir-ltr {
  direction: ltr;
}
.dir-rtl {
  direction: rtl;
}
<div class="dir-ltr end">
  End alignment in left-to-right direction
</div>
<div class="dir-rtl end">
  End alignment in right-to-left direction
</div>
<div class="dir-ltr right">
  Right alignment in left-to-right direction
</div>
<div class="dir-rtl right">
  Right alignment in right-to-left direction
</div>
Oriol
  • 274,082
  • 63
  • 437
  • 513
Andreas Wong
  • 59,630
  • 19
  • 106
  • 123
3

Yes there is, according to css-tricks:

There are two new values in CSS3 as well, start and end. These values make multiple language support easier For example, English is a left-to-right (ltr) language and Arabic is a right-to-left (rtl) language. Using "right" and "left" for values is too rigid and doesn't adapt as the direction changes. These new values do adapt:

1: start - Same as "left" in ltr, same as "right" in rtl.

2: end - Same as "right" in ltr, same as "left" in rtl.

See detail here: text-align in CSS

GeoK
  • 3
  • 3
Saqib Amin
  • 1,171
  • 7
  • 16