我在設計我的網站時犯了在所有瀏覽器上都沒有調試的主要錯誤。在Firefox(3.6.10)和IE8中,表單元素顯示正常,但在chrome(10)中,只顯示位置:絕對元素。位置:絕對在位在Chrome中相對位置:
我有一個由無序列表製成的表單。列表項目設置爲position:relative。它包含一個左浮動標籤,右浮動字段和一個位置:絕對小部件。
HTML:
<form><ul>
<li>
<label>Name</label>
<input type="text" />
<a id="nameGenerator" class="widget"></a>
</li>
</ul></form>
CSS:
form ul li{
margin: 5px;
clear: both;
position:relative;
}
form label{
float:left;
margin-top: 0px;
margin-bottom: 0px;
}
form input{
float:right;
margin-top: 0px;
margin-bottom: 0px;
}
form .widget{
position: absolute;
top: 0;
right: 0;
z-index: 99;
}
我可以通過刪除位置 「修理」 這樣的:相對但這是不能接受的。有什麼我可以做,以產生預期的結果?
而哪些是理想的結果?也許設置和示例? – easwee 2011-03-17 12:18:11
@Myles,它是不可接受的,因爲它會導致所有絕對位置元素粘貼到屏幕的頂部,而不是留在它們各自的列表項中。 – 2011-03-17 12:18:40
@Myles灰色 - position:static是默認定位 - 不是相對的。他需要li是相對的,因爲每個元素都必須是它自己的父元素,否則它將相對於body而不是li定位。 – easwee 2011-03-17 12:18:53