设为首页收藏本站订阅更新

无忧脚本

 找回密码
 加入无忧

QQ登录

只需一步,快速开始

搜索
查看: 4599|回复: 6

[疑问] margin-top好像给父标记了

[复制链接]
发表于 2009-8-14 21:52:10 | 显示全部楼层 |阅读模式
像下面代码这样,在标准浏览器里ManLink的margin-top好像给父标记了?这是一个怎样的说法?

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>margin-top的标准说法?</title>
  6. <style type="text/css">
  7. <!--
  8. body{
  9.         margin:0;
  10.         padding:0;
  11.         background-color:#eef;
  12. }
  13. #Top{
  14.         background-color:#fff;
  15. }
  16. #ManLink{
  17.         margin-top:20px;
  18.         background-color:#f99;
  19. }
  20. -->
  21. </style>
  22. </head>
  23. <body>
  24. <div id="Top"><div id="ManLink">像本文件的子标记的margin-top不会撑开父标记的高度</div></div>
  25. </body>
  26. </html>

复制代码
发表于 2009-8-17 15:17:43 | 显示全部楼层
你这里面#ManLink是把Top的高度撑开了的啊?有什么不对?
 楼主| 发表于 2009-8-19 22:08:55 | 显示全部楼层
Top的背景色是白色,怎么看不到有白色背景的Top区
发表于 2009-8-20 22:21:55 | 显示全部楼层
你在TOP加个字母试试看.
 楼主| 发表于 2009-8-21 22:03:49 | 显示全部楼层
在TOP加个字母就不会有这个BUG了,不知这算不算BUG
 楼主| 发表于 2013-12-18 09:19:49 | 显示全部楼层
这个现象并不是bug,而是有理论依据的:

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

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

==========
不过我觉得这个标准规范不够人性化,在IE6 IE7中均显示正常,那就是IE6 IE7在这一点上面比较人性化了。
发表于 2015-11-18 13:29:49 | 显示全部楼层
边距合并, 只有在#Top中加padding
您需要登录后才可以回帖 登录 | 加入无忧

本版积分规则

小黑屋|手机版|Archiver|无忧脚本 ( 苏ICP备05080427号 )|值班电话:027-62300445   鄂公网安备 42011102000433号

GMT+8, 2018-6-20 20:40 , Processed in 0.084596 second(s), 7 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表