>  기사  >  웹 프론트엔드  >  div+css小疑问。_html/css_WEB-ITnose

div+css小疑问。_html/css_WEB-ITnose

WBOY
WBOY원래의
2016-06-21 09:44:23926검색

CSS


大家看一下这个left 和right 共同被一个#maincontainer  div包裹。
代码如下。
   #left        {            background: #eee;            width: 350px;            height: 400px;            float: left;        }        #right        {            background: #ccc;            width: 150px;            height: 400px;            float: right;        }        #maincontainer        {            width: 500px;            overflow: auto;                    }        #foot        {            background: #eee;            width: 500px;            height: 100px;        }


运行起来是没有问题的  “这里为什么出现?” 是没有的。

但是为什么设计页面中要空出这一块呢? 我并没有设置#maincontainer的height。
也没有任何的边框。为什么出现那一块了呢? 运行起来却没有问题。看着真别扭。
求大神帮解答。

回复讨论(解决方案)

#foot{
 clear:both 
}
试试

*{margin:0;padding:0;}

LZ啥浏览器?

1楼和2楼的办法都可以试试

        #foot        {            clear:both;            background: #eee;            width: 500px;            height: 100px;        }

测试了IE7、8、9、10和chrome,在IE7中出现这种现象,正在找解决方式。

<!doctype html><!-- Saved from html5snippet.net --><html><head><meta http-equiv='Content-Type' content='text/html; charset=utf-8'/><style type='text/css'>body {background:lightblue;}div {margin:0;padding:0;}#left     {         background: #aaa;         width: 35%;         height: 400px;         float: left;     }     #right     {         background: #ccc;         width: 65%;         height: 400px;         float: right;              }                   #maincontainer     {       clear:left;       background: red;         width: 100%;     }       #foot     {                 background: #eee;         width: 100%;         height: 100px;     }</style><script type='text/javascript'></script></head><body>   <div id="left"></div><div id="right"></div><div id="maincontainer"></div><div id="foot"></div></body></html>

需要加上

层来清除浮动~~

<div id="maincontainer"><div id="left"></div><div id="right"></div><div class="clear"></div></div><div id="foot"></div>



.clear{clear:both;background: none;border: 0;display: block;float: none;font-size:0;margin:0;padding:0;overflow: hidden;visibility: hidden;width:0px;height:0px;line-height:0px;}#left        {            background: #eee;            width: 350px;            height: 400px;            float: left;        }        #right        {            background: #ccc;            width: 150px;            height: 400px;            float: right;        }        #maincontainer        {            width: 500px;            overflow: auto;                     }        #foot        {            background: #eee;            width: 500px;            height: 100px;        }

需要加上

层来清除浮动~~

<div id="maincontainer"><div id="left"></div><div id="right"></div><div class="clear"></div></div><div id="foot"></div>



.clear{clear:both;background: none;border: 0;display: block;float: none;font-size:0;margin:0;padding:0;overflow: hidden;visibility: hidden;width:0px;height:0px;line-height:0px;} #left        {            background: #eee;            width: 350px;            height: 400px;            float: left;        }        #right        {            background: #ccc;            width: 150px;            height: 400px;            float: right;        }        #maincontainer        {            width: 500px;            overflow: auto;                      }        #foot        {            background: #eee;            width: 500px;            height: 100px;        }

大家误会了  我可能强调的也不对,这个是在VS2008的设计页面中的情况。浏览器运行是正常的。。。。

应该是上下div边距的问题

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.