2008-10-29 51 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來使它足夠寬以包含字段集?

沒有多一點背景下,它可能會很艱難,以更準確地診斷這個...