您好,登錄后才能下訂單哦!
css如何實現文本圖標對齊呢?很多人都不太了解,今天小編為了讓大家更加了解css實現文本圖標對齊的方法,所以給大家總結了以下內容,一起往下看吧。
開發中遇見圖片跟文字放在一行顯示是最常見不過的了,兩個行內元素的對齊通常也是最令人頭疼,有時候明明使用了最常用的對齊方法,卻總還是有些許偏差,先來看一個最基本的示例:
html部分:
<div class="wrap"> <img src="https://avatars3.githubusercontent.com/u/16339041?s=60&v=4" alt=""> xx測試對齊Style- </div>
css部分:
.wrap { width: 300px; text-align: center; margin: 20px auto; font-size: 14px; } .wrap img { width: 20px; }
未使用對齊方式的效果如下:
默認的對齊方式是 baseline ,也就是x字母的最下面那條線。
這也就回答了第一個問題,瀏覽器的圖片跟文字未額外設置時是基于小寫字母x的下邊緣為基準,也就是 vertical-align:baseline; 。
常見的幾種居中方案
1、使用 vertical-align 居中對齊方式
.wrap { vertical-align: middle; } .wrap img { vertical-align: middle; }
當我們使用常用的 vertical-align 對齊文本和圖片時,其實也是有一定的偏差的,如下圖:
vertical-align 的middle值實際上是相對于小寫字母x的一半高度來說的,所以圖片會跟x的中間開始對齊,但是其他字符譬如S、中文,就會發現無論如何都會出現稍許偏差,圖片會相對而言偏下。
2、使用 vertical-align 同時使用span包裹文本
讓我們再稍做改變,將文本部分使用span標簽包裹,并且對span使用 vertical-align: middle; 樣式對齊。會發現此時圖片會上移少許。
效果如下:
3、使用flex布局
display: flex; align-items: center;
不過就算是flex布局,有時候也會出現一點兒偏差,比如:圖片尺寸為偶數、字體font-size為偶數,line-height為偶數時對齊;奇數時偏上1px。
4、使用ex單位
ex就是小寫字母x的高度,可以用在不受字體和字號影響的內聯元素的垂直居中對齊效果。
PS:不過這種適用于圖標高度跟文字一致,比如字符后面加一個箭頭(點擊展開)的情況,就很實用。
.wrap img { height: 1ex; }
5、vertical-align 數值方式的使用
vertical-align 屬性值可以使用數值型和百分比值,如,還是上面的基本案列:如果圖片高度是20px,文字font-size為22px時,默認對齊是文字的基線,那么圖片會偏上2px,這時只需要將圖片向下偏移2px,就能實現對齊效果,而且 vertical-align 這個屬性的數值型具有很好的兼容性。
.wrap { width: 100%; padding-top: 200px; text-align: center; margin: 20px auto; font-size: 22px; height: 40px; } .wrap img { width: 20px; vertical-align: -2px; }
關于css如何實現文本圖標對齊就分享到這里了,當然并不止以上和大家分析的辦法,不過小編可以保證其準確性是絕對沒問題的。希望以上內容可以對大家有一定的參考價值,可以學以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。