HTML/CSS

CSS控制文本两端对齐对最后一行无效解决方法

阿里云

做前端的朋友对 text-align 这个属性肯定是在熟悉不过了,经常用 left、right、center 来控制行内元素相对父元素左、右、居中对齐排版,justtify 来实现文本的两端对齐,让一段多行文本看起来更方便阅读,排版更好看。

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

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

  1. <div class="item">
  2.     <span class="label" >{{item.label}}</span>
  3.     <span class="value">{{item.value}}</span>
  4. </div>
  5.  
  6. //css
  7. .item {
  8.     height: 32px;
  9.     line-height: 32px;
  10.     margin-bottom: 8px;
  11.     .label {
  12.         display: inline-block;
  13.         height: 100%;
  14.         width: 100px;
  15.         text-align: justify;
  16.         vertical-align: top;
  17.         &::after {
  18.             display: inline-block;
  19.             width: 100%;
  20.             content: '';
  21.             height: 0;
  22.         }
  23.     }
  24.     .value {
  25.         padding-right: 10px;
  26.     }
  27. }
也想出现在这里?联系我们
创客主机

但其实上面这种写法是比较麻烦的,在这样的情况下,我们可以学习一个属性 text-align-last,该属性定义的是一段文本中最后一行在被强制换行之前的对齐规则。

  1. .item {
  2.     margin-bottom: 8px;
  3.     .label {
  4.         display: inline-block;
  5.         height: 100%;
  6.         min-width: 100px;
  7.         text-align: justify;
  8.         text-align-last: justify;
  9.     }
  10.     .value {
  11.         padding-right: 10px;
  12.     }
  13. }

相比第一种方法,第二种实现方式就简单了不少,不过该属性有兼容性问题,大家可以根据情况决定实现方式。

CSS 控制文本两端对齐对最后一行无效解决方法

已有 534 人购买
查看演示升级 VIP立刻购买

收藏
(0)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!