我有一块预先格式化的代码(<pre>),它会水平溢出,因此有一个水平滚动条允许用户查看内容。
overflow: auto;
但是,在IE7(可能是其他IE版本)中,滚动条与我内容的最后一行重叠(当只有一行内容时,这尤其令人恼火)。
我已经尝试了列出的解决方案 这里,但它没有用。
唯一有效的解决方案是使用
overflow: scroll;
它为我所有预先格式化的部分添加了滚动条,这非常糟糕。
注意:它在Firefox 3和Google Chrome中运行良好。
更新
我找到了一个解决方案(请参阅我的回答),但是如果有人找到了在IE7中每个预先格式化的部分都没有难看的填充的方法,那将是完美的。
在发布问题后,我考虑检查stackoverflow是否处理了(它做了)。
我看了一下样式表,发现了这个:
padding-bottom: 19px!ie7;
(好吧,他们使用20px,但19看起来更好)。
它为IE7添加了一个底部填充,这使得每个预先格式化的部分没有滚动条看起来有点奇怪,因为巨大的填充,但至少我可以看到内容(它在stackoverflow上看起来也很奇怪)。
很抱歉提问过得太快了。
在发布问题后,我考虑检查stackoverflow是否处理了(它做了)。
我看了一下样式表,发现了这个:
padding-bottom: 19px!ie7;
(好吧,他们使用20px,但19看起来更好)。
它为IE7添加了一个底部填充,这使得每个预先格式化的部分没有滚动条看起来有点奇怪,因为巨大的填充,但至少我可以看到内容(它在stackoverflow上看起来也很奇怪)。
很抱歉提问过得太快了。
将'padding-bottom:20px'添加到预标签
包裹你的 PRE
在一个 DIV
有一些额外的利润。
包裹你的 PRE
在一个 DIV
并申请 overflow: scroll;
到了 DIV
。确保你使用其中任何一个 <div style="overflow: scroll; width='...'; height='...';">
或者为div分配一个类,以确保不是所有的都获得滚动条。
例如,在我的博客中,我使用 <div style="overflow: scroll; width: 100%;">
对于小块代码,人们可以水平滚动,div将增长到正确的高度。对于较长的作品,我还指定一个高度来减少整篇文章的长度;然后人们也可以垂直滚动。
你也可以试试 <div style="overflow: scroll; overflow-y: hidden; width: 100%;">
只获得一个水平滚动条(而不是两个,其中一个被禁用)。也许 <div style="overflow-x: scroll; width: 100%;">
也有效。