2008-10-29 52 views
3

我已经定义的HTML一个字段,并应用了以下(简单)的CSS规则给它:IE CSS字段集边界向右延伸太远:为什么?

fieldset 
{ 
    margin: 2em 0; 
    position:relative; 
    padding: 1em; 
    border:1px solid #ccc; 
} 

一切都很好,没有什么大不了的,除了在所有版本(好了,到7就我知道)IE的顶部边框 - 但不是,有趣的是,底部边框 - fieldset视觉上延伸到右边大约25px,超出了垂直边框的位置。

值得注意的是,当在Firebug中查看时,此元素的宽度导致它在父元素的宽度之外。

在IE中导致这个问题的原因是什么?这是一个已知问题,如果是这样,修复/黑客/解决方法是什么?

+0

你正在使用的任何原因position:relative? – 2008-10-29 21:38:42

回答

3

我挣扎着这一个了一段时间;今晚我终于找到了答案。

http://www.sitepoint.com/forums/showthread.php?t=526881

引述NatalieMac:

看来,如果你具有的选择溢出 在表单该右侧的字段集内的元素,它扩展了上边框。我有一个 容器设置为100%的宽度,没有填充或页边距,IE7 认为由于某种原因溢出(即使 此容器内的内容是右对齐的,并且在 字段集的边框内可见)。

我能够解决它只是通过添加溢出:隐藏到fieldset。

我可以证实,这确实也解决了我的问题。

1

你能发布更多的代码吗,比如说围绕字段集的HTML和相应的CSS规则呢?

你提到你可以看到它比Firebug中的父元素更宽。这几乎肯定是相关的。你可以改变父元素的CSS来使它足够宽以包含字段集?

没有多一点背景下,它可能会很艰难,以更准确地诊断这个...