2011-06-25 81 views
1

[CLOSED]背景颜色将不会在一个div框的滚动条

this page延伸过去可见区域,存在其保持代码例如,在一定的线应该被给予一个div框背景颜色。这种背景颜色实际上是通过使用正则表达式来替换开始和结束符号以及使用红色背景制作div的代码。这工作正常,我们有我们的红色背景,正则表达式正在做他们的工作。但是,如果我们在代码框中滚动一下,我们注意到红色背景颜色停止了实际边框到代码框的位置(但我们可以滚动,所以它不是结束)。这应该说明我的意思: Figure One: Our background color terminating before it should be

我已经尝试了几乎所有的CSS值,我可以想到与萤火虫,包括尝试所有可能的溢出选项。有了宽度,如果我手动给出绝对宽度,它可以进一步扩展,但这不会做,因为背景着色是自动生成的,javascript使用的方法具有良好的回退,以防JavaScript无法加载或禁用。

那么,有没有人知道一种方法来让这些背景一直延伸到最后?我考虑过对字符进行计数,但由于背景颜色通常覆盖多于一行,甚至在其他一些页面上的数百行,所以看起来不切实际,而且相当有利。一个CSS方法将是首选,但它应该到它,我会去一个JavaScript修复。

如果您想自己查看该页面,请随时查看,该沙箱仅显示特定问题,并使用div元素替换某些注释以创建此背景图像的脚本被发现here

在此先感谢您的帮助和/或建议。

+0

我发现有问题的线处于归类跨度,你不能只针对跨度,并添加一些CSS规则呢? – 2011-06-25 04:49:03

+0

我可以,Keoki,但问题是将会有几十这些线。它们是自动生成的,而这只是我打到新页面的一小段代码。至于javascript,这是问题中的最后一个链接:http://glest.wikia.com/wiki/MediaWiki%3aCommon.js/SyntaxHighligtBackground.js – John

回答

0

<pre>overflow:auto在一起玩并不好,可能是你的问题的基础。

尝试使用<div>作为滚动容器。

所以:

<div style="overflow: auto"> 
    <pre> 
    ...content... 
    </pre> 
</div> 

而不是

<pre style="overflow: auto"> 
    ...content... 
</pre> 
+0

似乎是一个奇怪的问题,如何div的工作本身...使用跨度似乎解决了这个问题。可能显示CSS,内联vs块? – John