当前位置: 首页 > article >正文

Css样式中设置gap: 12px以后左右出现距离问题解析

原因核心:

虽然写的是:

display: flex;
gap: 12px;

但在实际 DOM 中,这段结构:

<div class="el-form-item__content"><div class="el-input"><input type="text" class="el-input__inner"></div>
</div>

只有 一个子元素:.el-input按理说 gap 不会生效。但看到“gap 产生左右 12px”,可能是因为:


::before::after 伪元素参与了布局!

某些框架(如 Element-UI)默认会在 el-form-item__content 内部加上隐藏的 ::before::after,用于清除浮动或对齐。

这些伪元素虽然不可见,但在 display: flex + gap 组合下,会被当作有效的子元素,从而使:

  • .el-input::before 之间 产生 12px 间距
  • .el-input::after 之间 也产生 12px 间距

这就是原因所在!!!!!


验证方法:

按下 F12 打开浏览器开发者工具:

  1. 选中 .el-form-item__content
  2. 查看其子节点是否有 ::before / ::after
  3. 你会发现两边的 gap 是因为这两个伪元素引起的

解决方法

方式一:清除伪元素对布局的影响(推荐)

.el-form-item__content::before,
.el-form-item__content::after {display: none !important;content: none !important;
}

方式二:只对真正子元素设置 gap,不使用 flex gap

改为用 margin-left

.el-form-item__content > *:not(:first-child) {margin-left: 12px;
}
http://www.lryc.cn/news/2398563.html

相关文章:

  • MySQL问题:count(*)与count(1)有什么区别
  • 大模型 提示模板 设计
  • excel表格记账 : 操作单元格进行加减乘除 | Excel中Evaluate函数
  • 20250602在荣品的PRO-RK3566开发板的Android13下的uboot启动阶段配置BOOTDELAY为10s
  • 如何合理设计缓存 Key的命名规范,以避免在共享 Redis 或跨服务场景下的冲突?
  • Trae CN IDE自动生成注释功能测试与效率提升全解析
  • 让AI弹琴作曲不再是梦:Python+深度学习玩转自动化音乐创作
  • C++概率论算法详解:理论基础与实践应用
  • ssh登录wsl2
  • 黑马Java面试笔记之 消息中间件篇(Kafka)
  • LeetCode - 234. 回文链表
  • PYTHON通过VOSK实现离线听写支持WINDOWSLinux_X86架构
  • nginx+tomcat动静分离、负载均衡
  • SQL进阶之旅 Day 13:CTE与递归查询技术
  • 【PmHub面试篇】Gateway全局过滤器统计接口调用耗时面试要点解析
  • neo4j 5.19.0两种基于向量进行相似度查询的方式
  • 项目课题——基于ESP32的智能插座
  • 华为云Flexus+DeepSeek征文|利用华为云 Flexus 云服务一键部署 Dify 平台开发文本转语音助手全流程实践
  • ck-editor5的研究 (7):自定义配置 CKeditor5 的 toolbar 工具栏
  • MPLS-EVPN笔记详述
  • 嵌入式Linux系统中的启动分区架构
  • 无人机甲烷检测技术革新:开启环境与能源安全监测新时代
  • mysql数据库实现分库分表,读写分离中间件sharding-sphere
  • [Python] struct.unpack() 用法详解
  • 普通二叉树 —— 最近公共祖先问题解析(Leetcode 236)
  • Spring AOP:面向切面编程 详解代理模式
  • 零知开源——STM32F407VET6驱动ILI9486 TFT显示屏 实现Flappy Bird游戏教程
  • 数据安全中心是什么?如何做好数据安全管理?
  • Monorepo 详解:现代前端工程的架构革命
  • 16-前端Web实战(Tlias案例-部门管理)