overflow:hidden导致元素高度增加的问题

字节行者说
• 阅读 5727

overflow:hidden

这是大家常用的css属性。在工作过程中,遇到下列问题:
制作一个信息显示标签,如下图所示,一个标签包含一个icon和一段文字。
overflow:hidden导致元素高度增加的问题
现在需求是:分支标签的文字过长时用省略号代替显示,于是给这个分支标签的div元素设置了:

    overflow: hidden;
    max-width: 170px;
    text-overflow: ellipsis;
    white-space: nowrap;

试图让标签宽度超过170px时,显示省略号。但是却出现了下图的情况:
overflow:hidden导致元素高度增加的问题

这是为森呢????

经过查阅资料。发现原来是我为了让标签并列显示,给标签容器的div设置了display:inline-block。而overflow:hidden和display: inline-block一起使用时会造成baseline的移动,所以高度就变得不一样了。
当inline-block元素的display不为visible的时候,其baseline为margin-box的下边界(如下图左侧元素),而右边的元素没有设置overflow:hidden,他的baseline为文字内容的基线。baseline对齐之后则出现了这样的高度差。
overflow:hidden导致元素高度增加的问题

通过设置两个标签的vertical-align为bottom(只要vertical的值不为baseline),就可以回到同一基线上。实现对齐。
overflow:hidden导致元素高度增加的问题

参考文章:
CSS中vertical-align的默认值baseline的理解

点赞
收藏
评论区
推荐文章
Easter79 Easter79
3年前
vue 实现横向时间轴
效果:<template<!时间线<divclass"timeLine"style"overflow:hidden;"<divclass"content"<pclass"tit"{{timeLineList
Easter79 Easter79
3年前
springboot下静态资源的处理(转)
<divid"article\_content"class"article\_contentcsdntrackingstatisticstrackingclick"datamod"popu\_519"datadsm"post"style"overflow:hidden;"<divstyle"whitespace
Wesley13 Wesley13
3年前
java图形验证码生成工具类及web页面校验验证码
<divid"article\_content"class"article\_contentcsdntrackingstatisticstrackingclick"datamod"popu\_519"datadsm"post"style"overflow:hidden;"<divclass"htmledit\_vi
Stella981 Stella981
3年前
Selenium 详解CSS定位
xpath定位是“屠龙刀”,那CSS定位就是"倚天剑了",相对xpath来说,具有语法简单,定位速度快等优点一、属性定位1、可以通过元素的id,class,tag标签这三个属性直接定位  表示id属性,如:kw.  表示class属性,如:.s\_ipt直接用标签名称,如:inpu
Stella981 Stella981
3年前
Mycat入门教程
<divid"article\_content"class"article\_contentcsdntrackingstatisticstrackingclick"datamod"popu\_519"datadsm"post"style"overflow:hidden;"<divclass"markdown\_vi
Stella981 Stella981
3年前
JQ判断div是否隐藏
 1.$("tanchuBg").css("display") 2.$("tanchuBg").is(":visible") 3.$("tanchuBg").is(":hidden") 例:if($("tanchuBg").is(":hidden")) {   alert("隐藏了")}if($("tanchu
Wesley13 Wesley13
3年前
JS组件化开发
CSS部分.kuicarousel{position:relative;overflow:hidden;}kuianimfade.kuicarouselitem{
Stella981 Stella981
3年前
SpringBoot 使用yml配置 mybatis+pagehelper+druid+freemarker实例
<divid"article\_content"class"article\_contenttrackingad"datamod"popu\_307"datadsm"post"style"overflow:hidden;"<divclass"markdown\_views"<h2id"springboot使用ym
Stella981 Stella981
3年前
CSS 分类 (Classification)
★★CSS分类属性(Classification)★★⑴CSS分类属性允许你控制如何显示元素,设置图像显示于另一元素中的何处,相对于其正常位置来定位元素,使用绝对值来定位元素,以及元素的可见度。⑵下面是常用的属性以及描述:!(https://oscimg.oschina.net/oscnet/00cb565
Wesley13 Wesley13
3年前
JAVA中this用法小结
<divid"article\_content"class"article\_contentcsdntrackingstatisticstrackingclick"datamod"popu\_519"datadsm"post"style"overflow:hidden;"<divclass"htmledit\_vi
Wesley13 Wesley13
3年前
CSS清除浮动的4种方式
1、使用空标签清除浮动。我用了很久的一种方法,空标签可以是div标签,也可以是P标签。这种方式是在需要清除浮动的父级元素内部的所有浮动元素后添加这样一个标签清除浮动,并为其定义CSS代码:clear:both。此方法的弊端在于增加了无意义的结构元素。2、使用overflow属性。此方法有效地解决了通过空标签元素清除浮动而不得不增加无意代码的弊端。使用
字节行者说
字节行者说
Lv1
重要的人要干干净净的放在心上。
文章
3
粉丝
0
获赞
0