div class="clear" 但是占用高度,怎么办?

在前面有两个float:left的div,然后接着一个<divclass="clear"></div>,CSS中的写:.clear{clear:both;}接着还有一个d... 在前面有两个float:left的div,然后接着一个<div class="clear"></div>,CSS中的写:.clear {clear:both; }接着还有一个div。在IE8中正常,但IE6,IE7中这个clear的div始终占用一个高度把下面那个div顶到下面了。
在网上搜,有人说加上height:0px; font-size:0px; line-height:0px; 还有人用 height:1px; margin-top:-1px;各种各样的都试过了,但是都没用,还是有高度。
但是很诡异的是这个高度在IE8的开发人员工具里看不到(理论上讲一个div如果有高度,在开发人员工具里可以看到蓝色的框,但是这个没有蓝色的框)。
请教有丰富经验的大侠告诉我这个问题的完美的解决方法,注意是IE6,IE7哦~~
展开
 我来答
y1cheng
推荐于2018-04-08 · TA获得超过1932个赞
知道小有建树答主
回答量:627
采纳率:0%
帮助的人:780万
展开全部
首先纠正一下,那不是占用高度,clear:both的意思,你从字面上来看就应该清楚,说白了,就是清除左右两边的元素。所以,它下面的代码才会在它下面。

不理解为什么你喜欢钻牛角尖,如果你想实现和IE8一样的效果,不让它在下面,你把<div class="clear"></div>删除不就完事了,或者删除 class="clear"或者删除css代码。

还是我没理解你说的意思,你的意思是说上下两个DIV之间有缝隙?

在clear:both;后面加float:left;或者在它下面的那个DIV加上float:left;

我不清楚你理解为什么会出现IE6,7,8吗

当浏览器诞生的时候,还没有W3C组织,微软秉持一贯作风,即使后来出现WEB标准后它仍然使用自己“独特”的方式开发,没有遵循业界标准。大家都知道Firefox占的份额越来越大,它的诸多优点让IE不得不从良。不管发展到IE几,你设计的方向绝对应该向Firefox靠齐,它才是标准。
百度网友19ad548
2009-04-25 · TA获得超过209个赞
知道小有建树答主
回答量:739
采纳率:0%
帮助的人:526万
展开全部
如果有高度或者是错位的情况下,你可以把clear移除看看是不是这个地方的问题。
1、看看结尾是否正常。
2、设置有问题。(因为一般的clear是不会这样的即使是IE8)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiaozhenyu2005
2009-04-25 · TA获得超过256个赞
知道小有建树答主
回答量:169
采纳率:0%
帮助的人:129万
展开全部
我也遇到此问题,把最终代码给你
.clear
{
height:0;
font-size:0;
clear:both;
over-flow:hidden;
}
这样就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式