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

【CSS】外边距塌陷

问题背景

在移动应用页面开发中,父元素和子元素外边距合并,导致布局效果和预期不一致。

<template><view class="container"><view class="card"><p>TEST</p></view></view>
</template><style lang="scss">
.container {background-color: #cccc;height: 100vh;.card {background-color: red;margin: 50rpx auto;width: 95%;border-radius: 5px;}}</style>

什么是外边距塌陷

当两个垂直方向上的块元素外面边距相遇时,会形成一个外边距。这个外边距等于两个外边距的最大时,而不是两个外边距的相加。

外边距塌陷的情况

相邻的块级元素:当两个相邻的块级元素的上下外边距相遇时,会发生塌陷。

      .box1 {height: 300px;width: 300px;background-color: aqua;margin-bottom: 20px;}.box2 {height: 300px;width: 300px;background-color: red;margin-top: 30px;}

此时两个盒子上下两外边距是30px,不是50px

父元素与子元素:如果子元素是第一个或最后一个块级元素,并且没有边框、内边距或高度,父元素的外边距可能会塌陷。

      .parent {height: 300px;width: 300px;background-color: aqua;margin: 20px;}.child {height: 300px;width: 300px;background-color: red;margin: 30px;}

在这里,父元素的下外边距和子元素的下外边距相遇,最终父元素的外边距为30px。

如何避免外边距塌陷

  • 添加边框和内边距
  • 设置浮动
  • 使用绝对定位(设置元素为绝对定位(position: absolute)也可以避免外边距塌陷。)
  • 使用flex活grid布局
http://www.lryc.cn/news/479214.html

相关文章:

  • WPF MVVM入门系列教程(二、依赖属性)
  • Springboot集成syslog+logstash收集日志到ES
  • Devops业务价值流:软件研发最佳实践
  • Matplotlib 绘图艺术:从新手到高手的全面指南
  • [ shell 脚本实战篇 ] 编写恶意程序实现需求(恶意程序A监测特定目录B出现特定文件C执行恶意操作D-windows)
  • SQLI LABS | Less-33 GET-Bypass AddSlashes()
  • 界面控件DevExpress WPF中文教程:Data Grid——卡片视图设置
  • flink 内存配置(一):设置Flink进程内存
  • 贪心算法习题其三【力扣】【算法学习day.20】
  • 速盾:高防cdn针对网站的好处有哪些?
  • 【Java SE语法】抽象类(abstract class)和接口(interface)有什么异同?
  • 京准同步:GPS北斗卫星授时服务器发展趋势介绍
  • 鸿蒙多线程开发——并发模型对比(Actor与内存共享)
  • 【计算机网络】章节 知识点总结
  • 开箱即用!265种windows渗透工具合集--灵兔宝盒
  • 怎么在哔哩哔哩保存完整视频
  • CPU算法分析LiteAIServer视频智能分析平台视频智能分析:抖动、过亮与过暗检测技术
  • fastGPT调用stable diffusion生成图片,本地模型使用ollama
  • 【jmeter】jmeter的线程组功能的详细介绍
  • 高边坡安全监测系统的工作原理和应用领域
  • Java:多态的调用
  • A day a tweet(seventeen)——Visualize Convolution Neural Network!
  • 卡达掐发展史
  • UI界面设计入门:打造卓越用户体验
  • 【Linux:tcp三次握手和四次挥手】
  • 大数据Informatica面试题及参考答案
  • Gradient Boosting Regressor(GBDT)--- 论文实战
  • Python教程:python枚举类定义和使用
  • Java学习Day60:微服务总结!(有经处无火,无火处无经)
  • MySQL日期类型选择建议