2011-08-11 57 views
0

我對絕對位於表單中的信息框有一些麻煩。該頁面的基本結構是,我使用的定義列表中包含DT標籤中包含的每個字段的標籤,以及包含在DD標籤中的該字段的任何其他相關信息的輸入框。DIV中的信息框包含在FIELDSET中的絕對定位被切斷

從我所瞭解的問題所在的位置,我有一個信息框(輸入框右側的藍色框,用於提供左側輸入的額外信息),它包含在DD標籤的一部分中這是絕對定位的。由於DD標籤的高度只限於輸入框的延伸範圍,信息框正在被切斷。不知怎的,我需要延長有一個信息框,以適應它的DD標籤的高度。

這裏你可以看到這樣一個例子:http://www.andbarsolutions.com/test-html/form.htm

我有兩個例子,一個是當信息框是最後一個輸入,所以這意味着它會伸出的形式結束,但是這是確定的。雖然第二個示例是第一個輸入上的信息框,它可能會跨過兩個輸入,這取決於它將包含的內容量。正如你所看到的,它會在兩種情況下切斷(特別是當你在FF中看到它時)。我將需要將HR標籤保留在最後,因爲它是用於佈局目的的。

理想情況下,我想查看是否有CSS相關的答案,而不訴諸腳本,因爲我限制了我可以在此頁面上使用的腳本數量,並且如前所述,我們可以處理1,該信息框中的2,3或4行內容,因此需要將其視爲具有動態高度的框。

想聽聽有關這方面的任何反饋!

+0

你應該給鏈接到jsfiddle.net向我們展示您的代碼,這將更容易編輯 – JMax

回答

1

問題是:在DL上使用overflow:hidden來清除浮點數,所以絕對定位的塊被隱藏。

有幾種方法來解決這個問題:

  • 清除花車通過任何其他方式,例如,使用clearfix

    dl:after { 
        content:""; 
        display:table; 
        clear:both; 
    } 
    

    而且在條件註釋添加hasLayout的IE瀏覽器:

    dl { 
        zoom: 1; 
    } 
    
+0

感謝kizu的答案。我嘗試了DL標籤上的clearfix,但它仍然不起作用:( – Barnesy

+0

您添加了'clearfix',但沒有從'DL'中刪除'overflow:hidden'。將其刪除 - 問題將消失。 – kizu