我在设计网站时犯了一个致命错误,没有在所有浏览器上进行调试。在Firefox(3.6.10)和IE8中,表单元素显示正常,但在Chrome(10)中,只有position:absolute元素显示出来。
我用无序列表制作了一个表单。列表项设置为position:relative。它包含一个左浮动标签、右浮动字段和一个可能的position:absolute小部件。
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;
}
我可以通过移除position:relative来“修复”这个问题,但这是不可接受的。有什么办法可以产生所需的结果吗?
position
的默认值通常是static
。 - Marcelstatic
。 - Stephan Muller