2010-03-08 95 views
0

我正在編寫一個Windows程序,它是一個所見即所得的表單生成器。Fieldset絕對定位問題

在一個非常簡單的測試中,我放置了一個fieldset,並在其上放置了一個複選框和一個文本輸入框。

生成的HTML看起來很好看,但它在Firefox中顯示錯誤,MSIE & K-meleon(我認爲它有一個FFF引擎)。字段集高度似乎沒有正確渲染。

我也嘗試刪除height屬性以查看fieldset是否會環繞其子控件,但它在瀏覽器中看起來相同。大概在我的HTML錯誤,我想,但我不能發現它...

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd"> 
<html> 
<head> 
<title></title> 
<meta http-equiv="Content-type" content="text/html;charset=UTF-8"> 
</head> 
<body> 
<form action="C:\temp\aa.php" method="get"> 
<div class="TGroupBox" id="GroupBox1" style="position: absolute; top:32px; left:32px; width: 185px; height: 105px;"> 
<fieldset> 
<legend>GroupBox1</legend> 
<div class="TCheckBox" id="CheckBox1" style="position: absolute; top:24px; left: 16px; width: 97px; height: 17px;"><input type="checkbox" name="CheckBox1" value="CheckBox1Checked"></div> 
<div class="TEdit" id="Edit1" style="position: absolute; top:64px; left: 16px; width: 121px; height: 21px;"><input type="text" name="Edit1"></div> 
</fieldset> 
</div> 
</form> 
</body> 
</html> 

回答

2

那是因爲你的字段集內的元素都絕對定位,進出內容流。 Fieldset只是崩潰以清空內容

所以你需要手動設置fieldset的高度爲105px(等於父div的高度)。

+0

抱歉太蠢了 - 我不是HTML大師。你是否應該將位置細節從div移到fildset?你能舉一個例子嗎?我不太確定,因爲不是我有'textare'的同樣的問題,但也許是因爲我把位置放在div而不是textarea中?感謝您的幫助 – Mawg

+0

好的,我想通了 - 不要把東西放在div上,把它放在div封裝的控件上。謝謝。 – Mawg

+1

Sergei