遇到的问题

这两天在开发一个病历的对外展示页面,设计稿上label是左右拉伸对齐的,显示效果如下:

怎么实现这种效果呢?

首先想到的是文字中间加空格,但是这种方式太low了,而且不太容易控制。网上查资料,发现用justify可以实现。

.item-field {
display: inline-block;
width: 80px;
text-align: justify;
}
.....
<div>
<label class="item-field">主诉:</label>
</div>

但是加上上述样式后,文字依然没有左右对齐。

justify为什么没有生效呢?

查询MDN上关于text-align的介绍,发现text-align有以下规则:

  1. text-align只对块级元素或者table-cell有效果
  2. text-align并不控制块元素自己的对齐,只控制它的行内内容的对齐
  3. justify :文字向两侧对齐,对最后一行无效

由于label标签的内容"主诉"只有一行,所以justify没有生效

解决方式

给label标签添加伪元素,伪元素独占一行且是最后一行,这样label的内容就可以左右对齐

.item-field {
display: inline-block;
width: 80px;
text-align: justify;
line-height: 0;
} .item-field::after {
content: '';
height: 0;
width: 100%;
display: inline-block;
line-height:
}

注释:

::after用来创建一个伪元素,作为已选中元素的最后一个子元素。通常会配合content属性来为该元素添加装饰内容。这个虚拟元素默认是行内元素。

为什么不使用justify-all

text-align还有一个可选值justify-all, 根据MDN上的定义:justify-all同justify一样,区别是最后一行也会两端对齐。

为什么不使用justify-all呢?因为justify-all是一个体验性的API,各个主流浏览器都不支持浏览器支持度

小结

text-align: justify可以设置元素内容左右对齐,但是对最后一行不生效。如果内容只有一行,可通过伪元素添加一个空行,实现内容左右对齐的效果。

参考

首发地址:http://www.geeee.top/2019/11/20/justify/, 转载请注明出处!

左右对齐Justify遇到的坑的更多相关文章

  1. 完美 全兼容 解决 文字两端对齐 justify 中文姓名对齐

    text-align:justify; 所有浏览器都支持,text-justify之类的却只有IE支持,就不要考虑了. justify我的理解,使元素内部的子元素两端对齐,子元素当然只能是inline ...

  2. 两端对齐justify

    //容器设定text-align:justify.justify{ text-align: justify; } //容器里面的元素 .justify i{ width:24px; line-heig ...

  3. text-align:justify_内容居中对齐

    一直发现text-align : justify这个对齐方式不好使,都不知道为什么么么哒: 因为两端对齐的这个行的结束要一个有空字符串或者别的不可见的字符,用户代理会把这个行的最后几个字符往右边拉,实 ...

  4. CSS两端对齐

    前面的话   两端对齐在导航条Tab的制作中非常常用.本文将详细介绍CSS两端对齐的3种实现方式 flex   弹性盒模型flex作为强大的弹性布局方式,可以hold住大部分的布局效果,当然也包括两端 ...

  5. Day042---浮动 背景图设置 相对定位绝对定位

    1.练习浮动 2.文本属性和字体属性 文本对齐 ​ text-align left 左对齐 right 右对齐 center 中心对齐 justify 两边对齐 只适应于英文 text-indent ...

  6. 前端之CSS——属性和定位

    一.字体属性 1.font-size(字体大小) p { font-size: 14px; } font-size 属性可设置字体的尺寸. px:像素,稳定和精确 %:把 font-size 设置为基 ...

  7. css属性 盒子模型

    一.    css属性相关 1.宽和高    1.width可以为元素设置宽度 2. height可以为元素设置高度 3.只有块级标签才可以设置宽度和高度,内联标签并不能设置宽度和高度,及时设置了也不 ...

  8. CSS3-03 样式 2

    前言 在上一篇的博客中,阐述了 CSS 盒模型中的 Margin.Border.Padding 三个样式.但是总觉得,这些东西好像是 HTML 元素的包装样式,真正的要点是 HTML 元素(即:盒模型 ...

  9. CSS前5课总结

    CSS<精通CSS.DIV网页样式与布局>视频前5课总结: 地对地导弹 第一课: 使用CSS控制页面: 1,行内样式 <p style="color:#0000FF; fo ...

随机推荐

  1. 201871010123-吴丽丽《面向对象程序设计(Java)》第十一周学习总结

    201871010123-吴丽丽<面向对象程序设计(Java)>第十一周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...

  2. 批处理命令 call

    call 命令 CALL命令可以在批处理执行过程中调用另一个批处理,当另一个批处理执行完后,再继续执行原来的批处理 CALL command 调用一条批处理命令,和直接执行命令效果一样,特殊情况下很有 ...

  3. 重装系统的jdk问题???

    重装系统了!!!! 之前因为不懂电脑,然后自己动手装了台台式机,简直太开心了,又自己装了个系统,一切都非常欢乐,来到了给电脑起名字的时候,我不知道有多少人会卡在起名字这里,但是我那个时候非常开心,就想 ...

  4. 11/3 <binary search>

    278. First Bad Version 二分法,如果isBadVersion返回true则坏版本在左边,right = mid,否则 left = mid + 1. 注意溢出问题 left+(r ...

  5. 洛谷 题解 P4198 【楼房重建】

    首先明确问题,对于每栋楼房的斜率K=H/X,问题就是问有多少个楼房的K比前面所有楼房的K都要大. 这题树套树当然可以,但是挺麻烦的,本渣觉得最简单就是分块…… 将N个楼房分成T块,不断维护每个块内楼房 ...

  6. 【微信小程序】手写索引选择器(城市列表,汽车品牌选择列表)

    摘要: 小程序索引选择器,点击跳转相应条目,索引可滑动,滑动也可跳转 场景:城市选择列表, 汽车品牌选择列表 所用组件: scroll-view(小程序原生) https://developers.w ...

  7. Win10 1903 运行安卓模拟器蓝屏解决方案

    由于没有安卓机,想要测试一些东西,所以选择了安卓模拟器,可是一运行模拟器就导致电脑蓝屏,试了 N 次都不行. 于是在网上寻找解决方案,了解到导致蓝屏的原因都是因为虚拟化技术,我的系统是 Windows ...

  8. Leetcode 第137场周赛解题报告

    今天的比赛的题目相对来说比较「直白」,不像前几周都是一些特定的算法,如果你没学过不可能想出来. 做了这些周,对leetcode比赛的题目也发现了一些「规律」. 一般前两道题都很「简单」,只要有想法,直 ...

  9. Zuul的高级使用

    原文链接:https://blog.csdn.net/u011820505/article/details/79373594

  10. No package python-pip available. 解决方法

    问题描述: No package python-pip available. 解决办法: rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/ep ...