解决CCS中的margin:top塌陷问题
HTML结构如下:
CCS结构如下:
页面效果图如下:
现在我们可以看到在子元素中明明设置了向右50px和向下50px,可页面显示的效果却只有向右移动的没向下移动的。
通常来说,margin
是设置元素的外边距,正常情况下设置margin
值时应该是父元素相对于浏览器定位,子元素相对于父元素定位;而现在设置了
margin-top: 50px,页面却没效果这就说明是margin塌陷。
那什么是margin塌陷呢?
在子级中当设置margin-top: 50px;
时,里面的盒子并没有改变,但是在给子元素设置margin-top: 150px
;大于父盒子的高度时,子元素就不会再相对于父元素定位了而是带着父元素一起相对于浏览器去定位向下移动150px;这就说明是margin塌陷。(margin塌陷是在父级相对于浏览器进行定位时而子级并没有相对于父级定位,子级相对于父级就像塌陷了一样)
当我们把margin-top: 50px调成大于父级元素的高度时,子元素就不会再相对于父元素定位了而是带着父元素一起相对于浏览器去定位向下移动150px;
页面效果图如下:
要想解决margin塌陷问题就嘚使用bfc的概念:
bfc是指:block format context
(块级格式上下文),触发bfc的元素将会改变一小部分的渲染规则,可用于解决些css的疑难bug;
触发bfc的元素有:
position:absolute;
display:inline-block;
float:left/right;
overflow:hidden;
CSS结构如下:
页面效果如下:
通过以上任意一行即可弥补margin塌陷的问题~
总结
到此这篇关于CCS中的margin:top塌陷问题的文章就介绍到这了,更多相关CCS margin:top塌陷内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!
相关文章
- 浮动指的是一个元素脱离文档流,悬浮在父元素之上的现象。这篇文章给大家介绍css浮动 float属性的相关知识,感兴趣的朋友一起看看吧2020-02-24
- 这篇文章主要介绍了html/css中float浮动的用法实例详解,需要的朋友可以参考下2019-09-10
- 这篇文章主要介绍了css float left布局换行不正常问题的解决的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-09-06
css 布局 之 两端布局的实例代码 (利用父级负的margin)
这篇文章主要介绍了css 布局 之 两端布局 (利用父级负的margin)的实例代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋2020-06-08- 这篇文章主要介绍了css中子元素设置margin-top为什么影响了父元素,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着2019-05-22
- 外边距折叠指的是毗邻的两个或多个外边距 (margin) 会合并成一个外边距,本文详细的介绍了一下css外边距折叠的实现,分为3种情况,非常具有实用价值,需要的朋友可以参考下2018-10-30
CSS 同级元素position:fixed和margin-top共同使用的问题
这篇文章主要介绍了CSS 同级元素position:fixed和margin-top共同使用的问题的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-09-13- 这篇文章主要介绍了详解css使既有浮动又有左右margin的多个元素两端对其,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-09-07
- 这篇文章主要介绍了CSS中的float和margin的混合使用,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-06-12
最新评论