语法:
text-align:start | end | left | right | center | justify | match-parent | justify-all
默认值:start
适用于:块容器
继承性:有
动画性:否
计算值:指定值,除 match-parent 值外
取值:
- left:
- 内容左对齐。
- center:
- 内容居中对齐。
- right:
- 内容右对齐。
- justify:
- 内容两端对齐,但对于强制打断的行(被打断的这一行)及最后一行(包括仅有一行文本的情况,因为它既是第一行也是最后一行)不做处理。(CSS3)
- start:
- 内容对齐开始边界。(CSS3)
- end:
- 内容对齐结束边界。(CSS3)
- match-parent:
- 这个值和 inherit 表现一致,只是该值继承的 start 或 end 关键字是针对父母的 <' direction '> 值并计算的,计算值可以是 left 和 right 。(CSS3)
- justify-all:
- 效果等同于 justify,但还会让最后一行也两端对齐。(CSS3)
说明:
设置或检索对象中内容的水平对齐方式。
- 块级元素的文本是一些堆叠的线框
- 大部分浏览器要使得 <' text-align '> 的
justify
两端对齐生效,需要在汉字间插入有空白,如空格; - 块内的最后一行文本(包括块内仅有一行文本的情况,这时既是第一行也是最后一行)及被强制打断的行,其两端对齐需使用 <' text-align-last '>;
- IE浏览器下,如果 <' text-align-last '> 要生效,必须先定义 <' text-align '> 为
justify
; -
单行两端对齐效果变得比较简单:
css code:
li{overflow:hidden;width:200px;height:21px;text-align:justify;text-align-last:justify;} li:after{display:inline-block;overflow:hidden;width:100%;height:0;content:'';}
html code:
<ul> <li>我 是 谁</li> <li>你 又 是 谁</li> <li>世 界 末 日 2012</li> </ul>
以上代码3个li中的内容都将两端对齐
需注意几点:- 所有主流浏览器都支持 text-align 的 justify 属性值;
- text-align不处理强制打断的行,也不处理块内的最后一行,换句话说,如果块内仅有一行文本(该行既是第一行也是最后一行),这时仅设置text-align:justify无法让该行两端对齐;
- text-align-last 是用来处理块内的最后一行和强制打断的行的,所以当要设置单行文本两端对齐时,需使用该属性;
- 大部分浏览器要使得两端对齐生效,需在文本间插入空白,如空格(如果一行仅有2个汉字,Firefox也需在之间插入空白);
- 大部分浏览器尚不支持 text-align-last;
- 由于所有浏览器都支持 text-align 的 justify 属性值,但不全支持 text-align-last,我们可以对非IE及IE7以上浏览器使用伪对象生成额外的内容(IE7及以下浏览器不支持伪对象,使用text-align-last处理),置于第二行并将其隐藏,这时第一行文本(即要对齐的那个单行文本)可使用text-align:justify来对齐
- 支持 text-align-last 的浏览器,如IE, Firefox使用 text-align-last 处理,不支持的浏览器使用如上述方法处理;
所以就目前情况来看,使用第一种方案是比较简约的,可以轻易的兼容IE5.5-10, Firefox, Chrome, Safari, Opera
- 对应的脚本特性为textAlign。
兼容性:
- 浅绿 = 支持
- 红色 = 不支持
- 粉色 = 部分支持
Values | IE | Firefox | Chrome | Safari | Opera | iOS Safari | Android Browser | Android Chrome |
---|---|---|---|---|---|---|---|---|
Basic Support | 6.0+ | 2.0+ | 4.0+ | 6.0+ | 15.0+ | 6.0+ | 2.1+ | 18.0+ |
start | 6.0-11.0 | 2.0+ | 4.0+ | 6.0+ | 15.0+ | 6.0+ | 2.1+ | 18.0+ |
end | 6.0-11.0 | 2.0-3.5 | 4.0+ | 6.0+ | 15.0+ | 6.0+ | 2.1+ | 18.0+ |
3.6+ | ||||||||
justify | 6.0-11.0 #1 | 2.0+ #2 | 4.0-40.0 #1 | 6.0+ | 15.0-27.0 #1 | 6.0+ | 2.1-4.4.4 #1 | 18.0-39.0 #1 |
41.0+ | 28.0+ | 40.0+ | ||||||
match-parent | 6.0-11.0 | 2.0-37.0 | 4.0-41.0 | 6.0-8.0 | 15.0-27.0 | 6.0-8.3 | 2.1-4.4.4 | 18.0-40.0 |
justify-all | 6.0-11.0 | 2.0-37.0 | 4.0-41.0 | 6.0-8.0 | 15.0-27.0 | 6.0-8.3 | 2.1-4.4.4 | 18.0-40.0 |
- 如果要使得两端对齐生效,需要在单词之间添加空白,如空格
- 如果一行仅有2个汉字,较低版本的Firefox也需在之间插入空白