关于margin叠加问题
2016-05-21 11:33
183 查看
只有普通文档流中块元素的垂直边界才会发生边界叠加。行内框、浮动框或绝对定位框之间的边界不会叠加。
1.发生外边距叠加的情况
外边距(margin)重叠示例
1.1外边距重叠是指两个垂直相邻的块级元素,当上下两个边距相遇时,起外边距会产生重叠现象,且重叠后的外边距,等于其中较大者。
1.2另一个重叠现象是当一个元素包含在另一个元素之中时,子元素与父元素之间也会产生重叠现象,重叠后的外边距,等于其中最大者:
1.3同理,如果一个无内容的空元素,其自身上下边距也会产生重叠。
2如何解决:
虽然外边距的重叠有其一定的意义,但有时候我们在设计上却不想让元素之间产生重叠,那么可以有如下几个建议可供参考:
2.1外层元素padding代替
2.2内层元素透明边框 border:1px solid transparent;
2.3内层元素绝对定位 postion:absolute:
2.4外层元素 overflow:hidden;
2.5内层元素 加float:left;或display:inline-block;
2.6内层元素padding:1px;
3.外边距重叠的意义
外边距的重叠只产生在普通流文档的上下外边距之间,这个看起来有点奇怪的规则,其实有其现实意义。设想,当我们上下排列一系列规则的块级元素(如段落P)时,那么块元素之间因为外边距重叠的存在,段落之间就不会产生双倍的距离。
1.发生外边距叠加的情况
外边距(margin)重叠示例
1.1外边距重叠是指两个垂直相邻的块级元素,当上下两个边距相遇时,起外边距会产生重叠现象,且重叠后的外边距,等于其中较大者。
1.2另一个重叠现象是当一个元素包含在另一个元素之中时,子元素与父元素之间也会产生重叠现象,重叠后的外边距,等于其中最大者:
1.3同理,如果一个无内容的空元素,其自身上下边距也会产生重叠。
2如何解决:
虽然外边距的重叠有其一定的意义,但有时候我们在设计上却不想让元素之间产生重叠,那么可以有如下几个建议可供参考:
2.1外层元素padding代替
2.2内层元素透明边框 border:1px solid transparent;
2.3内层元素绝对定位 postion:absolute:
2.4外层元素 overflow:hidden;
2.5内层元素 加float:left;或display:inline-block;
2.6内层元素padding:1px;
3.外边距重叠的意义
外边距的重叠只产生在普通流文档的上下外边距之间,这个看起来有点奇怪的规则,其实有其现实意义。设想,当我们上下排列一系列规则的块级元素(如段落P)时,那么块元素之间因为外边距重叠的存在,段落之间就不会产生双倍的距离。
相关文章推荐
- 仿天猫热点,淘宝头条向上自动滚动的textview
- (版本定制)第8课:Spark Streaming源码解读之RDD生成生命周期彻底研究和思考
- DB扩展名的数据库文件怎么打开:两种db数据库的打开方式
- ISCC 2016 WEB WP
- 第十三周項目-阅读项目-4
- C++11进阶知识列表
- 负载均衡,示意图。
- HDU 5247 找连续数
- 用python播放音乐--pygame package
- JQuery、JSON、Ajax在Servlet中的应用
- Redis简介,安装和配置,停止,卸载(图解方式)
- git 分支新建与推送
- HTML 5 标准定了,哪家欢乐哪家愁
- CSS之边框属性
- 用于求两个向量之间的距离
- json多层数组的反序列化
- 软件设计原则--开放封闭原则
- 网站如何添加访客统计代码
- Unity陀螺仪应用
- 树、森林与二叉树的相互转换