css设置overflow:hiden行内元素会发生偏移的现象

父级元素包含几个行内元素

javascript 复制代码
<div id="box">
   <p>
     <span>按钮</span>
     <span>测试文字文字文字测试文字文字文字</span>
     <span>看这里</span>
   </p>
 </div>
javascript 复制代码
 #box p{
   width: 800px;
    font-size: 30px;
   }
  #box p span{
    display: inline-block;
    box-sizing: border-box;
    /*vertical-align:top/bottom*/
  }
  #box p span:nth-child(2){
    padding-left: 10px;
    width: 350px;
   /* overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;*/
  }

正常显示,且在同一行;

当设置overflow:hidden之后,元素出现不对齐的情况

原因:行内元素的默认对齐方式是基线对齐即(vertical-align:baseline),设置设置overflow不为visible之后改变了他的默认对齐方式为下边距边缘;其他行内元素依然还是基线对齐就会出现下沉的视觉效果

解决方法:

1、重新设置所有行内元素的对齐方式为vertical-align:top或者bottom

2、设置所有的行内元素的overflow不为visible

3、设置flex布局

相关推荐
重阳微噪1 天前
受够了空格翻页?我写了一个 Chrome 自动滚动插件,让你真正沉浸式阅读
前端
Awu12271 天前
🍎用 pretext 搞定输入框动态宽度:一个困扰了我三天的 CSS 问题
前端
萑澈1 天前
我用 Cloudflare 搭了一个 FlashInbox 临时邮箱
前端·next.js
慕斯fuafua1 天前
CSS——盒模型
前端·css
嗜好ya1 天前
解决 Vite 项目中 import.meta.env 变量为 undefined 的问题
前端·javascript·vue.js
Mapmost1 天前
Mapmost专题地图:解锁这场春游“热”
前端
心连欣1 天前
JS算法入门:图解“冒泡排序”,彻底搞懂双重循环的奥义
前端·javascript
suedar1 天前
React 16 + TDesign Table 卡死问题深度复盘
前端
浩星1 天前
「Vue3 + Cesium 最佳实践」完整工程化方案
前端·javascript·vue.js