zoukankan      html  css  js  c++  java
  • div内嵌p,div等块元素出现的问题

    div内嵌p,div等块元素出现的问题

    http://caiceclb.iteye.com/blog/428085

    div内部块级元素,比如p,div,设置外间距(margin)的话会怎样。本来还纳闷div莫名奇妙的怎么多出了一些外边距,甚至设置margin为0,都不能解决问题。到底是怎么回事呢?

    1、

     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4   <title>div嵌套p/div</title>
     5   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
     6   <style type="text/css">
     7     body,p,div {margin:0;padding:0;}
     8     #top,#bottom {background:red;}
     9     #bottom{background:green;}
    10     p{margin:20px;}
    11     #div {margin:30px;}
    12     #div {margin:0;}
    14   </style>
    15 </head>
    16 <body>
    17   <div id="top">
    18     <p>p-tag margin</p>
    19   </div>
    20   <div id="bottom">
    21     <div id="div">div margin</div>
    22   </div>
    23 </body>
    24 </html>

    现在 p.margin="20px";FF,chrome,opera,IE6,IE9测试发现div#top并没有变大,看底色就知道;但却多了个margin。

    那设定#top.margin=0;呢?没用。

    然后#div.margin:30px;发现出现一样的问题。

    怎么办?幸亏我以前看过怎么测试修改方面的资料;加border或者overflow,zoom(ie)。

    解决方案1,给#top加border测试; border:1px solid #000;

      好,正常了,但是边框有宽度啊,影响效果。那就加个margin:-1px; 测试发现没效果,高度还是多了2px。

    解决方案2:

    overflow:hidden; 测试效果:FF,chrome,opera,ie9都有效果,ie6没效果;

    zoom:1; 测试只有ie6有效果;

    两者结合一起使用呢?测试:都有效果。

     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4   <title>div嵌套p/div</title>
     5   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
     6   <style type="text/css">
     7     body,p,div {margin:0;padding:0;zoom:1;overflow:hidden;}/*border:1px solid #000;margin:-1px;*/
     8     #top,#bottom {background:red; }
     9     #bottom{background:green;}
    10     p{margin:20px;}
    11     #div {margin:30px;}
    12     #div {margin:0;}
    13   </style>
    14 </head>
    15 <body>
    16   <div id="top">
    17     <p>p-tag margin</p>
    18   </div>
    19   <div id="bottom">
    20     <div id="div">div margin</div>
    21   </div>
    22 </body>
    23 </html>

    /////////////////////////////////////////////////////////////////////////////////

    原理我不清楚,先用着;当然建议不要这么嵌套着用。

  • 相关阅读:
    ASP.Net软件工程师基础(四)
    ASP.Net软件工程师基础(三)
    ASP.Net软件工程师基础(二)
    ASP.Net软件工程师基础(一)
    SVN小小用法(一)svn服务器搭建
    必须声明标量变量
    用户 NT AUTHORITYNETWORK SERVICE 登录失败
    winmail安装完成后,SMTP/POP3/ADMIN/HTTP/IMAP/LDAP服务不能启动?
    CF-798C
    CF-798B
  • 原文地址:https://www.cnblogs.com/tamato-jacob-wealllostcontrol/p/5385953.html
Copyright © 2011-2022 走看看