您现在的位置是:网站首页> 编程资料编程资料
margin-top塌陷问题的现象与解决的具体方法css中子元素设置margin-top为什么影响了父元素CSS 同级元素position:fixed和margin-top共同使用的问题margin-top负值解决label 文字与input 垂直居中对齐问题父元素与子元素之间的margin-top问题(css hack)子元素margin-top导致父元素移动的问题解决
2021-09-04
957人已围观
简介 这篇文章主要介绍了margin-top塌陷问题的现象与解决的具体方法的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
什么是margin-top塌陷
margin-top塌陷是在CSS的盒子模型中出现的一种现象,描述的是当父元素包裹着一个子元素的时候,当给子元素设置margin-top属性时,此时只是想让子元素的边框距离父元素边框有一段距离,而却出现了父元素的顶端距离body这个边框出现了位移,这就是margin-top塌陷的现象。
在未给子元素(绿色部分)添加margin-top属性的时候,网页如下图显示:

但是当给子元素加上margin-top属性的时候网页显示就变成了如下图所示:

你会发现,子元素的边界与父元素(黄色部分)的边界距离并没有增大,反而是父元素的上边界与浏览器上边界的距离增大了,也就是父元素带着子元素一起下移了一段距离,经过检查,这段距离也正好等于我们给子元素设置的margin-top的属性值,这就是margin-top塌陷的现象。
怎么解决margin-top塌陷
对于margin-top的塌陷问题,可以从以下几点去解决,亲测有效:
1.给父元素增加边框
为了不影响原先的图像效果,可以将边框颜色设置为白色(与浏览器背景颜色一致)
2.溢出隐藏
在父元素的style里面添加overflow:hidden;
3.利用浮动
给父元素的style添加浮动,但是这种方法不推荐使用。因为会带来未知的错误
4.给父元素添加position:fixed;
这里用到了定位的知识,将父元素显示在固定位置,就不会受margin-top塌陷的问题影响
5.给父元素设置display:table;
6.使用伪元素
伪元素之所以被称为伪元素,就是因为他们不是真正的页面元素,html没有与之对应的元素,但是其用法和表现行为和真正的元素一样,所以被成为伪元素。
.clearfix::before{ content: ”; display: table; } .clearfix 是给父元素增加的另外一个类名,这是我们推荐的解决办法,既能解决margin-top塌陷问题,又不会出现其他附加的未知错误。
确定了解决方案以后,现在来看看最终的结果,如下图:

可以看见,现在的位置是子元素相对于父元素在移动,而不会对父元素的位置造成什么影响了。
下面附上调试代码:
10-margin-top塌陷
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
相关内容
- CSS中overflow-y: visible;不起作用的原因分析及解决方法css 设置overflow:scroll 滚动条的样式 深入理解CSS overflow:hidden——溢出,坍塌,清除浮动css中text-overflow属性与文本截断详解详解CSS中zoom属性或overflow:auto属性清除浮动的作用使用CSS的overflow属性防止float撑开div的方法CSS属性text-overflow的使用问题使用CSS隐藏元素滚动条的示例代码css 给div添加滚动并隐藏滚动条
- 纯css实现立体摆放图片效果的实例代码CSS3实现的3D立体文字时钟效果源码基于CSS3制作立体效果导航菜单CSS3实现的鼠标经过立体翻转切换特效源码CSS实现有立体感的横向按钮式菜单效果代码一款纯css3实现的3D立体翻转导航特效源码基于HTML5+CSS3实现鼠标悬停3D立体式图片效果源码html5+css3实现的会翻动的3D立体图书效果源码
- css实现二维码扫码框的示例代码CSS Transition通过改变Height实现展开收起元素从QQtabBar看css命名规范BEM的详细介绍css实现两栏布局,左侧固定宽,右侧自适应的多种方法CSS 实现Chrome标签栏的技巧CSS实现两列布局的N种方法CSS实现隐藏搜索框功能(动画正反向序列)CSS3中Animation实现简单的手指点击动画的示例详解CSS中的特指度和层叠问题详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)关于CSS浮动与取消浮动的问题
- CSS绘制三角形的实现代码(border法)利用css绘制三角形的方法及拓展纯CSS绘制三角形箭头图案技术解析Html+CSS绘制三角形图标css绘制透明三角形用CSS3绘制三角形的简单方法纯CSS绘制三角形箭头效果用CSS代码绘制三角形 纯CSS绘制三角形的代码CSS中三角形的绘制与巧妙应用实例详解
- 利用CSS3动画实现圆圈由小变大向外扩散的效果实例CSS3地图动态实例代码(圆圈向外扩散)HTML5结合CSS3实现的光感圆圈动画特效源码jquery+css3动态圆圈运动背景特效代码jQuery+css3实现漂亮的以圆圈方式显示的彩色时钟效果CSS实现圆形放大镜狙击镜效果 只有圆圈里的放大
- 使用CSS实现无滚动条滚动的两种方法CSS Transition通过改变Height实现展开收起元素从QQtabBar看css命名规范BEM的详细介绍css实现两栏布局,左侧固定宽,右侧自适应的多种方法CSS 实现Chrome标签栏的技巧CSS实现两列布局的N种方法CSS实现隐藏搜索框功能(动画正反向序列)CSS3中Animation实现简单的手指点击动画的示例详解CSS中的特指度和层叠问题详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)关于CSS浮动与取消浮动的问题
- rem布局原理解析css基于媒体查询和 rem 的响应式布局实践详解html5页面 rem 布局适配方法移动端rem布局的两种实现方法详解H5 活动页之移动端 REM 布局适配方法浅谈移动端的自适应布局问题(响应式、rem/em、Js动态)使用CSS3的rem属性制作响应式页面布局的要点解析
- css将两个元素水平对齐的方法(兼容IE8)CSS水平对齐示例介绍CSS教程:水平对齐(text-align)-CSS教程-网页制作-网页教学网
- 实现CSS圆环的5种方法(小结)css制作收缩圆环旋转效果实例代码css3 clip实现圆环进度条的示例代码图解CSS3制作圆环形进度条的实例教程CSS实现圆环旋转加载动画
- 纯css实现漂亮又健壮的tooltip的方法 div+css样式自制带小三角的tooltips效果CSS3 函数技巧 用css 实现js实现的事情(clac Counters Tooltip)纯CSS3实现自定义Tooltip边框涂鸦风格的教程用简单的jquery+CSS创建自定义的a标签title提示tooltip关于CSS Tooltips(鼠标经过时显示)的效果怎么用纯CSS制作带小三角的tooltip提示框
