我有一些標記,爲一組字段的形式中:推動元件向下時,某些元素存在
<ul>
<li>
<label>Field label</label>
<ul>
<li>
<span>
<label>some label</label>
<input type="text" value="a" size="35" maxlength="35">
</span>
</li>
<li>
<span>
<label>some label</label>
<input type="text" value="b" size="35" maxlength="35">
</span>
</li>
<li>
<span>
<label>some label</label>
<input type="text" value="c" size="35" maxlength="35">
</span>
</li>
</ul>
</li>
</ul>
還有一些CSS到他們的位置是:
*{
position: relative;
}
span{
position: relative;
display: inline-block;
}
input{
float:left;
}
label{
float:left;
margin-top: 15px;
left: 70px;
}
li > ul{
margin-left: -100px;
max-width: 400px;
display: inline-block;
}
li > label{
float: left;
vertical-align: top;
margin: 0;
left: 0;
width: 120px;
display: inline-block;
}
這導致了這個佈局,這對我所需要的是完美的:
問題:當某些字段填寫不正確時,系統會生成錯誤消息,導致m arkup像這樣:
<ul>
<li>
<label>Field label</label>
<ul>
<li>
<span>
<label>some label</label>
<div class="error">some error message.</div>
<input type="text" value="a" size="35" maxlength="35">
</span>
</li>
<li>
<span>
<label>some label</label>
<div class="error">some error message.</div>
<input type="text" value="b" size="35" maxlength="35">
</span>
</li>
<li>
<span>
<label>some label</label>
<div class="error">some error message.</div>
<input type="text" value="c" size="35" maxlength="35">
</span>
</li>
</ul>
</li>
</ul>
這導致了這樣的事情:
相反,我想的錯誤消息顯示是這樣的:
我試過讓標籤內的標籤絕對定位,然後對齊到標籤底部。但是,由於某些原因,即使我給標籤margin-top
,它總是與文本輸入重疊。
我怎樣才能獲得的形式看起來像所需的佈局插入錯誤消息時?
不幸的是,如由生成的HTML後端,我沒有任何自由將他們排列在:( – F21