<pre> in fieldset doesn&#39;t respect the &#34;overflow: auto&#34; directive</pre>

时间:2010-08-01 11:52:53

标签: html css

这是一个测试用例:

<!doctype html>
<html>
<body>
    <div style="margin: 0 auto; width: 950px; overflow: hidden;">
        <div style="float: left; width: 660px">
            <form><fieldset>
            <pre style="overflow: auto">Test test test Test test test Test test test Test test test Test test test Test test test Test test test Test test test </pre>
            </fieldset></form>
        </div>
        <div style="float: right; width: 260px">
            Lorem Ipsum. Lorem Ipsum. Lorem Ipsum. Lorem Ipsum. Lorem Ipsum. Lorem Ipsum. Lorem Ipsum. Lorem Ipsum. Lorem Ipsum. Lorem Ipsum. Lorem Ipsum. Lorem Ipsum. Lorem Ipsum. Lorem Ipsum. 
        </div>
    </div>
</body>
</html>

我希望<pre>中的代码显示滚动条,而不是溢出到“Lorem Ipsum”侧边栏中。如果它在<fieldset>(如示例中)那么它会溢出。

如果删除<form><fieldset>它将不再溢出,但它也不会显示滚动条(溢出的文本只是被剪裁)。

这就是我想要的:

  • 如果<pre>中的文字长于可用宽度,则不应该溢出到“Lorem Ipsum”中,它应该显示滚动条,无论它是否在<fieldset>中。

1 个答案:

答案 0 :(得分:2)

它遵守它,但在它的默认行为的背景下。它当前没有width<pre>的默认行为是有宽度(而是扩展到可用空间......和< em>它的父母愿意扩展以适应它)所以它的行为是正确的。

如果想要它适合,只需给它与父母相同的宽度,如下所示:

<pre style="overflow: auto; width: 660px;">