小技巧|CSS如何实现文字两端对齐


需求如下,红框所在的文字有四个字的、三个字的、两个字的,如果不两端对齐可以选择居中对齐,或者右对齐。但是如果要像下面这样两端对齐呢?

我相信以前很多人都这么干过:两个字中间使用 来隔开达到四个字的宽度,三个字也可以,但是,像上图中“122账号”“122密码”这样的,就不好计算该用几个空格了。

假如我们有如下HTML:

<div>这世间唯有梦想和好姑娘不可辜负!</div>

给它加点样式

div{
  width:500px;
  border:1px solid red;
  text-align: justify;
}

初始效果是这样的

text-align: justify这是什么东西?CSS2中text-align有一个属性值为justify,为对齐之意。其实现的效果就是可以让一行文字两端对齐显示(文字内容要超过一行)。

但是光使用它依然没什么卵用…..

要使文字两端对齐,我们还得使用一个行内空标签来助阵,比如<span><i>等等,这里是我用<i>标签

<div>这世间唯有梦想和好姑娘不可辜负!<i></i></div>

给这个i标签设置如下样式

div i{
  display:inline-block;
  /*padding-left: 100%;*/
  width:100%;
}

padding-left: 100%width:100%都可以达到效果,选用其一即可。效果如下

但是加入HTML元素又违反了结构表现分离的原则,我们可以改用after、before伪元素:

div:after {
    content: " ";
    display: inline-block;
    width: 100%;
}

感谢 @依韵_宵音 的提醒


文章作者: 张张
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 张张 !
 上一篇
小技巧|H5禁止手机虚拟键盘弹出 小技巧|H5禁止手机虚拟键盘弹出
工作中遇到如下需求,点击输入框弹出自定义弹窗,输入框是input标:
2017-09-24
下一篇 
我的TO-DO应用实践 我的TO-DO应用实践
闲的时候不知道干嘛?生活没有具体目标?感觉很多事又不知道从哪里开始?老忘记一些事? 如果你有上面几个问题,那么该好好实施 TODO 来管理自己生活了,此文仅做抛砖引玉之用意,略述我的使用情况。
2017-09-02
  目录