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;