我有幾個表單域,每個都在父元素display: inline-block
中。 如何基於特定線垂直對齊嵌入塊元素,忽略其他線?
.Field {
display: inline-block;
border: solid 1px silver;
width: 100px;
padding: 2px;
margin: 2px;
vertical-align:middle;
color:gray;
}
.Control {
color:black;
border: solid 1px navy;
background-color:#def;
padding:2px;
}
<div class="Field">
Some text before the line.
<div class="Control">This</div>
</div>
<div class="Field">
<div class="Control">should</div>
Some text after the line.
</div>
<div class="Field">
<div class="Control">be</div>
</div>
<div class="Field">
Some text before...
<div class="Control">neatly</div>
...and some text after. Maybe even an image.
</div>
<div class="Field">
is it possible?
<div class="Control">aligned</div>
</div>
我試圖讓vertical-align
工作使得「主」(.Control
)在田間元素是彼此相鄰:字段之前或在其內部的控制後,有其他元素。
每個.Field
的基線應由其.Control
確定。
手動指定line-height
不是一個選項,並且周圍的文本不應該有零高度或position: absolution
:周圍的文本仍應該是可見的,並影響字段的高度。
這是可能的CSS?
另一個小加成 - 如果'Control'也可以有多行,並且我們想用它的第一線對齊:HTTP://的jsfiddle .net/anmggL1t/1 /。增加了'.Control {display:inline-block;盒子尺寸:邊框;垂直對齊:文本頂部;寬度:100%;}' – Kobi 2014-10-06 13:39:42