2011-10-24 46 views
-2
<html> 
<head> 
<style> 
html{ overflow:hidden;} 
body{ overflow:hidden; height:100%; background-color:blue; margin:0px;} 
div{ height:3000px; background-color:red; margin:30px;} 
</style> 
</head> 

<body> 
<div>dasdasd</div> 
</body> 
</html> 

这里是html代码。当它在标准浏览器上运行时,div标签会一直显示在窗口中。 但它在ie中运行,当您选择单词“dasdasd”并向下拖动时,身体标记将滚动,单词“dasdasd”将隐藏,除非您禁用选择功能。 有人可以给我其他解决方案吗?“溢出:隐藏”在ie中无效

就像Spudley的回答一样,DOCTYPE会导致问题,但是在标准模式下,body标签仍然滚动,任何人都可以解决问题?

+0

它什么都没有做'overflow'或CSS。 –

+0

另外,请指定您使用的IE版本 - 这也可能有所作为。 – Spudley

回答

0

试试这个:

body { 
    background-color: blue; 
    height: 100%; 
    margin: 0 auto; 
    overflow: auto; 
} 
div { 
    background-color: red; 
    margin: 30px; 
    overflow: auto; 
} 

希望工程......祝您好运。

3

问题是您遗漏了<!DOCTYPE>声明。

当IE看到没有DOCTYPE的HTML代码时,它进入怪癖模式。

在怪癖模式下,浏览器实际上使页面向下兼容IE5。它改变了它呈现基本框布局的方式,并取消了对很多标准CSS的支持。

添加下面的DOCTYPE到你的页面的顶部(在<html>标签上),你应该看到的东西是正确的:

<!DOCTYPE html> 
+0

现在我可以说“啊哈!”,第一次我知道,谢谢:) –

+0

但身体标签也滚动标准模式,你能解决问题吗? – csdxf