フロートした画像の後にスパンを垂直に揃えたいのですが。私はそれをスタックオーバーフローで検索し、 この投稿 を見つけました。しかし、私のイメージは浮いています。
<div>
<img style="width:30px;height:30px; float:left">
<span style="vertical-align:middle">Doesn't work.</span>
</div>
vertical-align:middle
画像に変更なし。
ありがとう
まず、float
を削除します。このように書きます:
<img style="width:30px;height:30px;vertical-align:middle" src="http://lorempixel.com/output/abstract-q-c-640-480-8.jpg">
<span>Doesn't work.</span>
これをチェックしてください http://jsfiddle.net/ws3Uf/
これは非常に古い投稿ですが、Flexbox
を使用してこれを達成できます。
div {
display: flex;
align-items: center;
}
<div>
<img style="width:30px;height:30px;" src="http://lorempixel.com/output/abstract-q-c-640-480-8.jpg" />
<span>Doesn't work.</span>
</div>
追加 line-height
(画像の高さに等しい):
<div>
<img style="width:30px;height:30px; float:left">
<span style="vertical-align:middle; line-height: 30px;">Works!</span>
</div>
<span>
はインライン要素です。スパンにdisplay:block
を追加して、画像と同じ高さと、一致する行の高さを指定してください。そのまま浮かせます。それはうまくいくはずです
次のことができます。
div:after {
content:"";
clear:both;
display:block;
}