软件教程 2025年08月6日
0 收藏 0 点赞 702 浏览 1540 个字
摘要 :

文章目录 1、兄弟元素之间margin–top失效 2、子元素设置margin-top作用于父容器 本文主要讲解关于如何解决CSS设置margin-top失效问题相关内容,让我们来一起学习……




本文主要讲解关于如何解决CSS设置margin-top失效问题相关内容,让我们来一起学习下吧!

在web网站开发中,有时候我们给html元素设置的margin-top或margin-bottom属性,但是无效,并没有取到任何作用,这是什么原因呢?常出现两种情况:

1、兄弟元素之间margin-top失效

先看下面代码:

<div>   
<div class=\"box1\"> float: left </div>   
<div class=\"box2\"> clear:both; margin-top:20px; </div> 
</div>

两个层box1和box2,box1具有浮动属性,box2没有,这时候设置box2的上边距margin-top没有效果。网上能找到的两种比较靠谱的解释:

1):“在css2.1中,水平的margin不会被折叠;垂直margin可能在一些盒模型中被折叠…”2):当第一个层浮动,而第二个没浮动层的margin会被压缩,详见–浮动元素后非浮动元素的margin的处理。

得到解决问题思路:要浮动一起浮动,要不就都不浮动。解决办法:

1)、box2增加float属性

2)、box1与box2之间增加一层”<divstyle=”clear:both;”></div>”

2、子元素设置margin-top作用于父容器

<div class=\"box\" style=\"height:100px;background:red;\"> 
  <div class=\"box2\" style=\"clear:both; margin-top:20px; height:50px; width:500px; background:#000;\"</div> 
</div>

当给box2设置margin-top时,在FF下仅作用于父容器。解决办法:

1)、给父容器box加overflow:hidden;属性2)、父容器box加border除none以外的属性3)、用父容器box的padding-top代替margin-top

总结

现象:当两个空的块级元素嵌套时,如果内部的块设置有margin-top属性,而且父元素没有下边解决方法所述的特征,那么内部块的margin-top属性会绑架父元素(即将margin-top传递凌驾给了父元素)。

就好比一个小兵,看到上级有漏洞,就假传圣旨,利用漏洞扩张自己的权利。只要设置父元素的border(栅栏)或者padding(隔离墙),就能管住这个调皮的下属。

解决方法:

1)、设置父元素或者自身的display:inline-block;2)、设置父元素的border:1px aqua solid;(>0)3)、设置父元素的padding:1px;(>0)4)、给父元素设置overflow:hidden;5)、给父元素或者自身设置position:absolute;6)、设置父元素非空,填充一定的内容。

这个现象并不是bug,而是有理论依据的:

《on having layout》hasLayout 会影响一个盒子和其子孙的边距重叠。根据规范,一个盒子如果没有上补白和上边框,那么它的上边距应该和其文档流中的第一个孩子元素的上边距重叠。

但值得一提的是,只有在FF和Chrome下才会出现这种margin-top绑架父节点的情况,在IE6 IE7中均显示正常,但这恰恰说明了他们是不符合规范的,而FF合Chrome则是严格遵守规范的。

以上就是关于如何解决CSS设置margin-top失效问题相关的全部内容,希望对你有帮助。欢迎持续关注潘子夜个人博客(www.panziye.com),学习愉快哦!

微信扫一扫

支付宝扫一扫

版权: 转载请注明出处:https://www.zuozi.net/6605.html

管理员

相关推荐
2025-08-06

文章目录 一、Promise基础回顾 二、Promise 与 axios 结合使用场景及方法 (一)直接返回 axios …

269
2025-08-06

文章目录 一、模块初始化时的内部机制 二、常见导出写法的差异分析 (一)写法一:module.exports…

107
2025-08-06

文章目录 一、ResizeObserver详解 (一)ResizeObserver是什么 (二)ResizeObserver的基本用法 …

683
2025-08-06

文章目录 一、前期准备工作 (一)下载相关文件 (二)安装必要工具 二、处理扣子空间生成的文件…

338
2025-08-06

文章目录 一、官方文档 二、自动解包的数据类型 ref对象:无需.value即可访问 reactive对象:保持…

371
2025-08-06

文章目录 一、Hooks的工作原理 二、在if语句中使用Hook会出什么岔子? 三、React官方的Hook使用规…

843
发表评论
暂无评论

还没有评论呢,快来抢沙发~

助力内容变现

将您的收入提升到一个新的水平

点击联系客服

在线时间:08:00-23:00

客服QQ

122325244

客服电话

400-888-8888

客服邮箱

122325244@qq.com

扫描二维码

关注微信客服号