[toc]
## 左中右对齐
## IE兼容
ie并不支持让**中文**text-align:justify
原因在于谷歌和火狐对text-align:justify进行了算法区分,对CJK文本采用`letter-spacing`算法,而非CJK采用`word-spacing`算法。
而IE并不支持`letter-spacing`算法
So需要使用替代方案
```
text-justify:inter-ideograph;
```
## justify,为什么会失效?
text-align:justify要想有两端对齐的效果(无论是对文本还是inline-block)。需要满足两点:
1. 有分隔点,如空格 (如果是中文文本两端对齐并不需要,英文需要,inline-block也需要)
2. 超过一行,并且不是最后一行
```
.justify{
text-align:justify;
text-justify:inter-ideograph;
}
.justify:after{
content:'';
display:inline-table; /* inline-block */
width:100%;
}
```
>其它答案
>
这个是因为text-align不会处理被打断的行(强制打断的行?)和最后一行。因为你这里的文字只占了一行,所以也是最后一行了,所以text-align设置为justify不会产生任何效果。
解决方法是使用text-align-last,并将其设置为justify。
不过不幸的是,text-align-last不是所有浏览器支持。
所以对于不支持text-align-last的,可以在最后一行人工生成两行文本,然后把第二行隐藏了,那么我们要现实的第一行自然就可以实现两端对齐了。
而你的span是inline-block,也可以设置宽度(100%),那么这个时候内联匿名盒的宽度超过行盒,浏览器会将其拆成两行,自然第一行文本的text-align效果就生效了。你的实现刚刚好是上面的第二个实现方法。
```
span:after {
content:'';
width: 100%;
display: inline-block;
overflow: hidden;
height: 0;
}
```
如果不考虑兼容Safari,可以直接使用
```
text-align-last:justify
```
除此之外,IE需要兼容
```
.justify{
text-align:justify;
text-justify:inter-ideograph;
}
```
### justify的应用
![](https://box.kancloud.cn/4740b5f954abf1a883eea089ef809f2e_803x451.png)
>[danger] 如果line-height设置的是固定值,如line-height:20px,则容器需要同步设置line-height:0或则改为相对计算的值。
- 空白目录
- 未处理
- webpack中的css模块化
- CSS预处理器
- 效果
- 元素装饰与美化
- 颜色
- checkbox
- img
- background
- clip-path
- 字体
- 文本控制
- text-indent
- letter-spacing
- word-spacing
- word-break和word-wrap
- white-space
- text-align
- text-decoration
- text-transform
- first-letter
- first-line
- 有关CSS百分单位的那些奇葩事儿
- 破坏性、包裹性、块状化
- 强大的absolute
- padding
- relative
- 继承性
- fixed
- float
- BFC
- z-index
- overflow
- clip
- 最佳可访问性隐藏
- 关于scrollHeight/Width
- 包含块
- margin
- 布局系统
- 杂
- Flex
- Grid
- 自定义布局系统
- gutter实现思路
- 选择器
- 伪元素和伪类
- css3
- appearance
- CSS2.1
- tmp
- 未定义行为
- 焦点元素
- outline轮廓
- 替换元素
- 盒子模型
- 块级元素/盒子
- 标记盒子
- 容器盒子(内在盒子)
- 内联元素/盒子
- 字母X
- line-height
- vertical-align
- font-size
- 内联元素盒子模型新解
- line-height定义
- line-height与行内框盒子模型
- line-height与内联元素的高度机制
- line-height值
- line-height与图片
- vertical-align支持的属性值及组成
- vertical-align起作用前提
- vertical-align与图片
- vertical-align与line-height
- vertical-align前后不一的行为表现
- vertical-align实际应用
- line-height与height
- width/height与auto
- 最小内容宽度
- 最大内容宽度
- min/max-width/height注意事项
- 流:外部尺寸与内部尺寸
- 流体布局下的宽度分离原则
- height:auto
- 浏览器渲染原理
- 移动端