html div textalign,CSS之文本两端对齐

说起text-align,大家一定都不觉得陌生,我们常用关键字left、right、center实现行内元素相对父元素左、右、居中对齐,当然我们也使用justify来实现文本两端对齐。

9f211581c634dc443a2ac185fb4a8f27.png

如上图,两端对齐相对于左对齐,视觉上显得整齐有序。但justify对最后一行无效,通常这样的排版对整段文字是极好的,我们并不希望当最后一行只有两个字时也两端对齐,毕竟这是不便于阅读的,那么当我们只有一行文本,但要实现单行文本两端对齐怎么解决(如下图的表单项效果)?

3dd82e4a22c9ccecc6bcad92699e8bac.png

根据justify对最后一行无效,我们可以新增一行,使该行文本不是最后一行,实现如下:

//html

{{item.label}}

{{item.value}}

//scss

.item {

height: 32px;

line-height: 32px;

margin-bottom: 8px;

.label {

display: inline-block;

height: 100%;

width: 100px;

text-align: justify;

vertical-align: top;

&::after {

display: inline-block;

width: 100%;

content: '';

height: 0;

}

}

.value {

padding-right: 10px;

}

}

but以上写法可以说是比较麻烦的,重点来啦,最近新了解到的一个属性text-align-last,该属性定义的是一段文本中最后一行在被强制换行之前的对齐规则。

//scss

.item {

margin-bottom: 8px;

.label {

display: inline-block;

height: 100%;

min-width: 100px;

text-align: justify;

text-align-last: justify;

}

.value {

padding-right: 10px;

}

}

相比第一种实现,第二种实现方式就简单了不少,不过该属性有兼容性问题,大家可以根据情况决定实现方式,想了解更多关于text-align-last的说明,参见https://developer.mozilla.org/zh-CN/docs/Web/CSS/text-align-last

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值