由于我一直在研究和研究它几个小时而没有运气,我认为答案是否定的,但我会喜欢这样或那样的确认。
我在选择字段的左侧有一个多行标签。假设标签是3条包裹线。我希望标签的中间线与选择字段垂直匹配。像这样:
Label Line 1
Label Line 2 SelectField
Label Line 3
基本上,我的问题与几年前的问题非常相似,但最终没有得到明确回答:Vertical center label with text area and with select and with textbox。有人回复说javascript是必需的。
到目前为止,我有FIDDLE的努力。我发现了一些有趣的变化,但没有任何东西符合我的要求。
有人可以确认这是否可行?感谢!!!
[编辑:拼写]
答案 0 :(得分:1)
试试这个
HTML
<div class= 'divclass'>
<label class="labelleft" for='name'>NAME 1 Very Long Multi-Line Label:</label>
<select class='selectclass'>
<option value="Yes">Yes</option>
<option value="No">No</option>
</select>
</div>
<div class= 'divclass'>
<label class="labelleft" for='name'>NAME 1 Very Long Multi-Line Label:</label>
<select class='selectclass'>
<option value="Yes">Yes</option>
<option value="No">No</option>
</select>
</div>
<div class= 'divclass'>
<label class="labelleft" for='name'>NAME 1 Very Long Multi-Line Label:</label>
<select class='selectclass'>
<option value="Yes">Yes</option>
<option value="No">No</option>
</select>
</div>
CSS
div.divclass {
border: 1px solid red;
height: 150px;
width: 400px;
}
label.labelleft {
width: 90px;
text-align: right;
background: lightblue;
display: inline-block;
vertical-align: middle;
float: none;
}
select.selectclass {
width: 100px;
display: inline-block;
margin-left: 20px;
}
工作Fiddle
答案 1 :(得分:0)
只需使用表格。
td { vertical-align: middle; }
.narrow { width:8em; padding-right: 2em; }
<table>
<tr>
<td class="narrow"><label for="menu">Label text wrapped across multiple lines</label></td>
<td><select name="menu" id="menu">
<option>Menu item #1</option>
<option>Menu item #2</option>
<option>Menu item #3</option>
<option>Menu item #4</option>
</select></td>
</tr>
</table>
答案 2 :(得分:0)