挖掘margin属性的内涵
发布时间:2020-12-14 04:50:17 所属栏目:大数据 来源:网络整理
导读:1、margin合并问题 块级元素的上边距和下边距有时会合并或者折叠为一个外边距 捕获到的重要信息 只发生在块级元素,但不包括浮动元素和绝对定位元素 只发生在和当前文档流方向的相垂直的方向上( 由于默认文档流是水平流,因此发生margin合并的就是垂直方向
1、margin合并问题块级元素的上边距和下边距有时会合并或者折叠为一个外边距 捕获到的重要信息
会出现外边距合并的三种基本情况1、相邻元素之间<p>第一行</p> <p>第二行</p> p {margin: 1em 0;} 第一行和第二行之间的间距还是1em,因为第一行的margin-bottom和第二行的margin-top合并了 2、父元素和它第一个或最后一个子元素之间
在默认状态下,下面三种设置是等效的 <div class="father"> <div class="son" style="margin-top:80px;"></div> </div> <div class="father"> <div class="son"></div> </div> <div class="father" style="margin-top:80px;"> <div class="son" style="margin-top:80px;"></div> </div> 3、空的块级元素当一个块级元素中不包含任何内容时,并且在其margin-top和margin-bottom之间没有边框、内边距、行内内容、height、min-height将两者分开,此时外边距会合并 <div class="father"> <div class="son"></div> </div> .father {overflow:hidden;} .son {margin:1em 0;} 此时.father所在的这个父级 margin合并的计算规则
margin合并的意义1、兄弟元素的margin合并使图文信息的排版更加舒服自然,保证元素上下间距一致 2、父子margin合并的意义在页面中任何地方嵌套或直接放入任何空标签,都不会影响原来的块状布局 3、自身margin合并的意义可以避免不小心遗落或者生成的空标签影响排版和布局 阻止以上margin合并的发生1、阻止margin-top的合并(满足一个条件即可)
2、阻止margin-bottom合并
3、阻止空标签margin合并
以上需要注意的地方
2、深入理解margin:automargin:auto的填充规则
margin:auto的隐藏用法为块级元素自适应左中右对齐和内联元素使用text-align控制左中右对齐相呼应 3、为什么容器定高、元素定高、margin:auto却无法垂直居中默认文档流是水平方向 解决方案
此时.son就是垂直居中对齐的,但是水平方向就无法auto居中
IE8以及以上版本浏览器才支持,但却是最好用的块级元素垂直居中对齐方式 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |