咱们常常会看到表单填写时前面的label,都是左右对齐的,即便字数不同。就像下面的效果:javascript
解析
css
这种效果主要经过text-align-last属性来实现。html
在菜鸟教程上对于这个属性有这样的描述:java
text-align-last 属性只有在 text-align 属性设置为 "justify" 时才起做用。
但我尝试了一下,当文本只有一行的时候,text-align属性不设置,text-align-last也是有用的。固然这只是针对非IE和Safiri而言。浏览器
text-align属性对多行文本的最后一行文本无效。测试
/*css*/ .label { width: 200px; text-align-last: justify; } /*html*/ <div class="label">产 品</div>
这样的写法,对IE浏览器和safari浏览器就不起做用了。由于text-align-last不支持这两个浏览器。spa
针对这个问题,咱们能够用伪类来解决。code
/*css*/ .label { width: 200px; height: 30px; /*高度须要添加,否则文字下面会多出一些空隙*/ text-align: justify; } .label:after{ content: ''; display: inline-block; width: 100%; } /*html*/ <div class="label">产 品</div>
有三点须要注意:htm
两种方案对比
教程
第二种方法相对于第一种方法来讲,兼容性更好,我在多个浏览器测试了一下,都没有问题。
第一种方案更简洁,可是不支持ie和safari,因此建议你们仍是用第二种方案更省心。