在CSS中外边距合并的塌陷情况该如何处理呢
Admin 2022-08-25 群英技术资讯 262 次浏览
已知两个宽和高均为100px,margin均为20px的div垂直排列,现象如下图所示:
当设置css1的margin-bottom:40px;或者css2的margin-top:40px时,现象如下图所示:
结论:
只有当两个垂直排列的盒子的垂直外边距挨在一起时会产生合并问题,此问题也不需要解决,记住谁的外边距较大就采用谁的外边距就ok了。
水平排列的盒子不存在合并的问题。
下面实验证实:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> div{ /*抽取两个盒子共同特点的代码*/ width:100px; height: 100px; margin: 20px; float: left; /*左浮动实现盒子水平排列*/ } /*分别设置两个盒子不同的颜色*/ .div1{ background: pink; } .div2{ background:#CCC; } </style> </head> <body> <div class="div1">css1</div> <div class="div2">css2</div> </body> </html>
现象为:
一个宽高均为200px的div1内嵌一个宽高均为100px的div2,当给div2设置margin:30px时,现象为:
此时外面的这个大的div的margin也变成了30px,下面这段解决此问题:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> .div1{ width: 200px; height: 200px; background: pink; overflow: hidden; /*解决该问题的代码*/
/*border:1px solid black 第二种解决办法:给大div设置一个边框*/
} .div2{ width:100px; height:100px; margin: 30px; background:#CCC; } </style> </head> <body> <div class="div1"> <div class="div2">css</div> </div> </body> </html>
需要在大的div中写入overflow: hidden;这句代码可以理解为让浏览器显示该div的时候检查一下是否有问题,如果有问题,浏览器来解决。第二种解决办法见上面的代码。
最后的现象为:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
本篇文章给大家带来了css中关于盒子模型的诸多属性详细解析,其中包括边框、边距、圆角等等,希望对大家有帮助。
这篇文章主要介绍了通过CSS变量修改样式的方法示例的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
CSS 变量基本用法声明一个变量,属性名需要以两个减号(--)开始,属性值则可以是任何有效的CSS值。element { --main-bg-color: brown;}选择器是指定变量的可见作用域,该变量仅用于
CSS的animation可以做出大多数的loading效果,今天脚本之家小编给大家带来了基于CSS实现一个简单loading动画效果,非常不错,需要的朋友参考下吧
本篇文章给大家带来了css盒子模型中常用到的相关知识,所谓盒子模型就是把HTML页面中的元素看作是一个矩形的盒子,也就是一个盛装内容的容器,每个矩形都由元素的内容、内边距、边框和外边距组成。下面我们就分别来看一下,希望对大家有帮助。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008