一行文字两端的均匀分布

前几天看杜大大的CSS参考手册,看到了老生常谈的文字两端对齐对齐方式,觉得很好,便记录下来。

如果要实现本例中单行两端对齐,可以这样做:

  • 首先,所有主流浏览器都支持text-align的justify属性值;*.其次,在这个例子中每个 p 都只有一行(所以既是第一行也是最后一行),所以无法通过定义text-align: justify来实现两端对齐,因为text-align: justify不会处理块级内容文本的最后一行。
  • 再次,好在有一个专门用来处理最后一行对齐的属性text-align-last,可以通过定义text-align-last: justify来实现单行文本两端对齐。遗憾的是,不少浏览器尚不支持该属性。
  • 综上所述,我们无法简单的通过使用ttext-align或者text-align-last来实现单行文本两端对齐。那么可以换个思路,想办法让它们变成多行文本,使用伪元素派生一行新的占位内容是个不错的选择,此时再实现两端对齐,只需要text-align就行了。但是IE7 及以下浏览器不支持伪元素,如果要支持的话,可以直接使用text-align-last。Ps(谁还兼容IE7啊)实现及效果如下:
.demo p {
    text-align: justify;
    text-align-last: justify;
}
.demo p::after {
    display: inline-block;
    width: 100%;
    height: 0;
    content: "\0020";
    overflow: hidden;
}

这种解决方案并没有解决元素内容为数字或者字母的两端对齐问题,如有好的答案,不吝赐教,谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值