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布局

相关推荐
5335ld17 分钟前
后端给的post 方法但是要求传表单数据格式(没有{})
开发语言·前端·javascript·vue.js·ecmascript
二川bro22 分钟前
第33节:程序化生成与无限地形算法
前端·算法·3d·threejs
QDKuz29 分钟前
掌握Vue2转Vue3, Options API 转 Composition API
前端·javascript·vue.js
老前端的功夫35 分钟前
前端Echarts性能优化:从卡顿到流畅的百万级数据可视化
前端·javascript
进击的野人37 分钟前
深入解析localStorage:前端数据持久化的核心技术
前端·javascript
懵圈41 分钟前
第2章:项目启动 - 使用Vite脚手架初始化项目与工程化配置
前端
Mh42 分钟前
如何优雅的消除“if...else...”
前端·javascript
火鸟21 小时前
给予虚拟成像台尝鲜版十之二,完善支持 HTML 原型模式
前端·html·原型模式·通用代码生成器·给予虚拟成像台·快速原型·rust语言
逍遥江湖1 小时前
Vue3 + TypeScript 项目框架搭建指南
前端
lapiii3581 小时前
[前端-React] Hook
前端·javascript·react.js