0

需要你的帮助。第一次面对这个问题,需要你的专业知识。

代码是

<div style="overflow:hidden;cursor:pointer;width:100%">
    <div id="ScrBar" style="position:relative;width:16000px">
        This is the text alksdjflask d;alskdj fl;aksjd f;laksdjf l;kasjdf ... -----> long line

    </div>
</div>

这是IE7相关的!无法在其他版本的 IE 上测试。在 Chrome 和 FF 中工作正常。

如果我将 DOCTYPE 放在 html 文件的开头,则第一个 DIV 在屏幕的右端结束,此时内部 DIV 被“剪切”。没有水平滚动条。

如果我放置 DOCTYPE(无论是过渡的还是严格的),那么外部 DIV 将获得内部 DIV 的全宽。窗口有长长的水平滚动条。

好吧,在研究如何解决它之前,我无法理解问题是什么(就技术术语而言,而不是我在屏幕上看到的)。

谢谢!

编辑:进一步的测试表明,使用 IE8 和文件的本地副本,它按预期显示,但是使用 IE8 和文件上传到服务器(apache),它没有按预期显示长水平滚动条!

4

2 回答 2

0

省略 aDOCTYPE会导致浏览器进入quirks 模式http://webdesign.about.com/cs/doctype/a/aaquirksmode.htm

您应该始终至少包含 HTML5 文档类型

于 2013-03-02T18:06:26.190 回答
0

请参阅Neils的这个答案。就像 Matt 和其他人提到的那样,您应该始终使用 doctype。

“这是 IE6 和 IE7 中的一个众所周知的错误。要解决它,您需要添加 position:relative 到容器。由于在您的情况下 body 是容器,我建议您直接在 body 下方添加一个 div 并给它位置:相对的。它应该可以解决你的问题。

IE6 + IE7 CSS 溢出问题:隐藏;- 位置:相对;组合

于 2013-03-03T03:54:06.607 回答