margin外边距合并问题以及解决方式
2017-04-20 16:50
537 查看
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style type="text/css"> .div{ /* overflow: hidden;*//*利用该属性或者通过给父级元素设置border可以避免出现父级元素的margin合并的情况,当没有设置这两个属性之一时,该div的margin-top值会取div1的margin-top和其自身margin-top的最大值*/ /* border:1px solid red;*/ margin:0 auto; margin-top:10px; width:300px; background: #aaa; } .div1{ width:200px; height:200px; background: red; margin:20px 0px; } .div2{ width:200px; background: green; margin: 10px 0px; height:200px; } </style> </head> <body> <div class="div"> <div class="div1"></div> <div class="div2"></div> </div> </body> </html>
一、在div里面有子元素div1时,div在没有设置overflow:hidden或者是border属性时,div的margin-top的值为div/div1中的margin-top的最大值。上面的结果如图:
注意:div1在div中的margin-top值为0px;
二、当父级div设置了上述属性中的一个时(如overflow:hidden),结果如下图所示:
div的margin-top值为其自身设置的值10px,同时div1的margin-top值也是正常的20px
三、当元素是兄弟元素时,在不设置float和position:absolute时margin-bottom和margin-top会自动的合并为两者中的最大值。如上面的div1和div2两者之间的margin距离为20px;当两者同时设置了float:Left时,两者之间的margin值是30px,如图所示:
设置float前: 设置float后
相关文章推荐
- margin外边距合并问题以及解决方式
- 转载:margin外边距合并问题以及解决方式
- WCF Rest:不使用UriTemplate使用post方式传参解决HTTP400问题以及参数映射问题
- 第一个子容器设置margin-top后和父容器发生外边距合并,解决办法是给父容器设置非0 padding-top或overflow:hidden
- 关于css+div margin 居中问题 和边距合并
- Vim 解决问题的方式,以及 Vim 命令的组成结果
- hibernate使用hql跨表查询遇到的问题以及解决方式
- Struts2标签问题以及解决方式
- IT168转载问题解决情况,以及本人博客转载方式
- win7下android studio1.2安装以及出错问题解决方式汇总
- JavaWeb 项目中的绝对路径和相对路径以及问题的解决方式
- 【PHP缩略图类】手机照片不能生成缩略图问题以及解决方式
- VS中附加进程的方式调试IIS页面,以及设置断点无效问题解决
- margin-top失效, css + div 布局之 CSS盒模型 外边距合并问题
- IE6/IE7下margin-bottom失效兼容解决办法及双倍边距问题
- 解决IE6下margin双倍边距问题
- PHP 显示页面以及数据库中出现乱码问题的解决方式
- ScrollView嵌套ListView带来的问题以及解决方式
- elasticsearch中遇到的一些问题以及解决方式
- matlab在macbook下的详细配置以及可能遇到的所有问题的解决方式(success testing)