Chinaunix首页 | 论坛 | 博客
  • 博客访问: 287885
  • 博文数量: 124
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 21
  • 用 户 组: 普通用户
  • 注册时间: 2016-08-20 14:44
文章分类

全部博文(124)

文章存档

2020年(1)

2018年(2)

2016年(2)

2015年(6)

2014年(10)

2013年(23)

2012年(7)

2011年(18)

2010年(15)

2009年(8)

2007年(8)

2006年(23)

2005年(1)

我的朋友

分类: 系统运维

2012-02-06 10:00:41

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">

  2. <html>
  3. <head>
  4. <title>margin合并的示例</title>
  5. </head>
  6. <body>
  7. <div id="level1" style="height:100px; position: relative; border: 1px solid red;overflow: auto">
  8. <div id="level2" style="height:98px;position: relative;">
  9. <div id="level3" style="margin:10px 0;border: 1px solid blue">111</div>
  10. </div>
  11. </div>
  12. 空内容也会出现滚动条:
  13. 原因如下:
  14. 1. level1是自动出现滚动条;<br>
  15. 2. level2高度和level1 一致。表示level已经被填满;<br>
  16. 3. pre的默认margin为13;此时需要的level1的空间大于level1的可用空间, level1出现滚动条;<br>

  17. <div id="level1" style="height:100px; position: relative; border: 1px solid red;overflow: auto">
  18. <div id="level2" style="height:98px;position: relative;border: 1px solid green;">
  19. <div id="level3" style="margin:10px 0;border: 1px solid blue">111</div>
  20. </div>
  21. </div>
  22. 当给level2添加了border后,滚动条没有了。<br>
  23. 1. 当level2没有border时, 边框合并功能会生效, 这样level3的margin和level2的margin合并, 并取大者,倒是level2的需求空间变大。
  24. 2. 当设置了border后,margin合并失效。 显示正常。当然添加overflow也可以起到相同的效果;
  25. 3. 还有解决方法是去掉level3的margin。 但是有些元素师默认有margin的。如pre。
  26. <input type="button" value="add new line" onclick="ready()">
  27. </body>
  28. </html>
阅读(1340) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~