使用vertical-align: middle
調整與文本高度的形象,你可以看到在我的屏幕轉儲,圖像恰好在文本的頂部/底部(我加了2 gre en行來形象化)。
文字和上邊框之間的「空」的空間,是一個特定的字體(這是針對不同的字體不同)如何安排其內部高度內的字符。
現在,由於某種原因,如果你想「打破」這個並調整例如字體內部高度的圖像(如在你的問題中,在頂部/底部邊界之間),你需要添加「邊距「某處。
要讓文本流盡可能正常,你可以:
- 幾個像素保證金/填充添加到圖像元素
- 增加像素的一些額外的線條與圖像完全透光性好,
注意:根據您需要的完美程度,您需要計算您使用的字體的「邊距」(它可能會/可能會不同),字體大小,並且您還可能需要檢查在不同的操作系統上也是如此。
「強制文本/圖片」 到中心,你可以:
- 使用
display: table
- 使用
display: flex
(在IE8/9工作)
(不要在IE8/9工作)
下面是使用 「填充」 和display: table
樣品:
/* padding */
span img {
padding-bottom: 3px;
width: 20px;
vertical-align: middle;
}
/* display table */
div {
display: table-cell;
vertical-align: middle;
padding: 5px;
}
div span {
vertical-align: middle;
}
div img {
width: 20px;
vertical-align: middle;
}
<span style="padding: 5px;border: 1px solid black; background-color: #CCCCFF"> This one
<img
src="http://files.softicons.com/download/social-media-icons/stucco-social-media-icons-by-bradley-siefert/png/64x64/stucco-facebook.png"> use padding </span>
<br /><br />
<div style="border: 1px solid black; background-color: #CCCCFF">
<span>This one</span>
<img src="http://files.softicons.com/download/social-media-icons/stucco-social-media-icons-by-bradley-siefert/png/64x64/stucco-facebook.png">
<span>use display: table</span>
</div>
謝謝!最後,這在我看來是修復代碼的最簡單,最普通的方法。雖然不需要指定span.padding和img.margin,但默認值對我來說工作正常。 – Rop