前端CSS子元素margin-top穿透问题
2022/3/9 23:15:36
本文主要是介绍前端CSS子元素margin-top穿透问题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
当我们在给子元素设置margin-top后会出现一个现象,子元素与父元素之间没有出现间距,反而是父元素和其他元素之间出现了间距,像是margin-top的效果作用在父元素上一样。这种现象就是margin-top穿透现象。
如下所示:
HTML代码
<div class="father"> <div class="son"> </div> </div>
CSS代码
*{ margin: 0; padding: 0; } .father{ width: 400px; height: 300px; background-color: red; } .son{ width: 200px; height: 150px; background-color: green; margin-top: 100px; }
我们希望的是子盒子的上边距距离父盒子100px,但实际上效果是父盒子距离浏览器的顶线隔开了100px,如下图所示:
经过查找资料和测试发现,发生这样的现象需要两个条件:
1:父、子元素都为块级元素
2:父、子元素必须顶部线重合
所以解决这种现象我们只需要打破这两个任意条件即可。
解决方案:
一:父、子任意元素设置display:inline-block。
二:设置父元素padding-top:1px
三:设置父元素border-top
这篇关于前端CSS子元素margin-top穿透问题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16useMemo项目实战:初学者指南
- 2024-11-15AntDesign项目实战:新手入门与初级应用教程
- 2024-11-15AntDesign-Form-rules项目实战:新手指南
- 2024-11-14ESLint课程:初学者指南
- 2024-11-14Form.List 动态表单课程:新手入门教程
- 2024-11-14Redux课程:新手入门完全指南
- 2024-11-13MobX 使用入门教程:轻松掌握前端状态管理
- 2024-11-12前端编程资料:新手入门指南与初级教程
- 2024-11-12前端开发资料入门指南
- 2024-11-12前端培训资料:适合新手与初级用户的简单教程