Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何防止滚动条与内容重叠?_Html_Css_Internet Explorer_Internet Explorer 7 - Fatal编程技术网

Html 如何防止滚动条与内容重叠?

Html 如何防止滚动条与内容重叠?,html,css,internet-explorer,internet-explorer-7,Html,Css,Internet Explorer,Internet Explorer 7,我有一块预先格式化的代码( overflow: auto; 然而,在IE7(可能是其他IE版本)中,滚动条与我的内容的最后一行重叠(当只有一行内容时,这尤其令人恼火) 我尝试了列出的解决方案,但没有成功 唯一有效的解决方案是使用 padding-bottom: 19px!ie7; 这给我所有的预格式化部分添加了一个滚动条,这太糟糕了 注意:它在Firefox3和Google Chrome中运行良好 更新 我已经找到了一个解决方案(见我的答案),但如果有人找到了一种方法,在IE7中的每个预格

我有一块预先格式化的代码(
overflow: auto;
然而,在IE7(可能是其他IE版本)中,滚动条与我的内容的最后一行重叠(当只有一行内容时,这尤其令人恼火)

我尝试了列出的解决方案,但没有成功

唯一有效的解决方案是使用

padding-bottom: 19px!ie7;
这给我所有的预格式化部分添加了一个滚动条,这太糟糕了

注意:它在Firefox3和Google Chrome中运行良好


更新


我已经找到了一个解决方案(见我的答案),但如果有人找到了一种方法,在IE7中的每个预格式化部分中都没有难看的填充,那将是完美的。

将您的
PRE
包装在
DIV中,并添加一些额外的边距。

发布问题后,我想检查stackoverflow是否处理了这个问题(确实如此)

我查看了样式表,发现:

(嗯,他们使用20px,但19看起来更好)

它只为IE7添加了一个底部填充,这使得没有滚动条的每个预格式化部分看起来有点奇怪,因为有巨大的填充,但至少我可以看到内容(在stackoverflow上也确实很奇怪)


抱歉问得太快。

PRE
包装在
DIV
中,并将
溢出:滚动;
应用到
DIV
。确保使用
或为DIV分配一个类,以确保并非所有DIV都有滚动条

例如,在我的博客中,我使用
处理小块代码,这样人们可以水平滚动,div将增长到正确的高度。对于较长的部分,我还指定了一个高度以减少整篇文章的长度;然后人们也可以垂直滚动


您还可以尝试只获取一个水平滚动条(而不是两个滚动条,并且其中一个被禁用)。也许
也可以工作。

在pre标记中添加“padding bottom:20px”,这将为我提到的每个我不想要的DIV添加一个滚动条。只需添加style=“overflow:scroll;”添加到div,而不是在CSS样式表中为所有div指定它。这会在每个浏览器中添加难看的填充,我只需要修复IE7。您可以将填充底部放置在仅适用于IE的样式表中;此页面认为“!IE7”是一种攻击:
padding-bottom: 19px!ie7;