溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

css如何實(shí)現(xiàn)文本圖標(biāo)對(duì)齊呢?

發(fā)布時(shí)間:2020-04-20 14:06:40 來源:億速云 閱讀:778 作者:小新 欄目:web開發(fā)

css如何實(shí)現(xiàn)文本圖標(biāo)對(duì)齊呢?很多人都不太了解,今天小編為了讓大家更加了解css實(shí)現(xiàn)文本圖標(biāo)對(duì)齊的方法,所以給大家總結(jié)了以下內(nèi)容,一起往下看吧。

css如何實(shí)現(xiàn)文本圖標(biāo)對(duì)齊呢?

開發(fā)中遇見圖片跟文字放在一行顯示是最常見不過的了,兩個(gè)行內(nèi)元素的對(duì)齊通常也是最令人頭疼,有時(shí)候明明使用了最常用的對(duì)齊方法,卻總還是有些許偏差,先來看一個(gè)最基本的示例:

html部分:

<div class="wrap">
    <img src="https://avatars3.githubusercontent.com/u/16339041?s=60&v=4" alt="">
    xx測(cè)試對(duì)齊Style-
</div>


css部分:

.wrap {
      width: 300px;
      text-align: center;
      margin: 20px auto;
      font-size: 14px;
 }
 .wrap img {
      width: 20px;
 }

未使用對(duì)齊方式的效果如下:

css如何實(shí)現(xiàn)文本圖標(biāo)對(duì)齊呢?

默認(rèn)的對(duì)齊方式是 baseline ,也就是x字母的最下面那條線。

這也就回答了第一個(gè)問題,瀏覽器的圖片跟文字未額外設(shè)置時(shí)是基于小寫字母x的下邊緣為基準(zhǔn),也就是 vertical-align:baseline; 。

常見的幾種居中方案

1、使用 vertical-align 居中對(duì)齊方式

.wrap {
    vertical-align: middle;
    }
.wrap img {
    vertical-align: middle;
}

當(dāng)我們使用常用的 vertical-align 對(duì)齊文本和圖片時(shí),其實(shí)也是有一定的偏差的,如下圖:

css如何實(shí)現(xiàn)文本圖標(biāo)對(duì)齊呢?

vertical-align 的middle值實(shí)際上是相對(duì)于小寫字母x的一半高度來說的,所以圖片會(huì)跟x的中間開始對(duì)齊,但是其他字符譬如S、中文,就會(huì)發(fā)現(xiàn)無論如何都會(huì)出現(xiàn)稍許偏差,圖片會(huì)相對(duì)而言偏下。

2、使用 vertical-align 同時(shí)使用span包裹文本

讓我們?cè)偕宰龈淖儯瑢⑽谋静糠质褂胹pan標(biāo)簽包裹,并且對(duì)span使用 vertical-align: middle; 樣式對(duì)齊。會(huì)發(fā)現(xiàn)此時(shí)圖片會(huì)上移少許。

效果如下:

css如何實(shí)現(xiàn)文本圖標(biāo)對(duì)齊呢?

3、使用flex布局

display: flex;
align-items: center;

css如何實(shí)現(xiàn)文本圖標(biāo)對(duì)齊呢?

不過就算是flex布局,有時(shí)候也會(huì)出現(xiàn)一點(diǎn)兒偏差,比如:圖片尺寸為偶數(shù)、字體font-size為偶數(shù),line-height為偶數(shù)時(shí)對(duì)齊;奇數(shù)時(shí)偏上1px。

4、使用ex單位

ex就是小寫字母x的高度,可以用在不受字體和字號(hào)影響的內(nèi)聯(lián)元素的垂直居中對(duì)齊效果。

PS:不過這種適用于圖標(biāo)高度跟文字一致,比如字符后面加一個(gè)箭頭(點(diǎn)擊展開)的情況,就很實(shí)用。

.wrap img {
    height: 1ex;
}

5、vertical-align 數(shù)值方式的使用

vertical-align 屬性值可以使用數(shù)值型和百分比值,如,還是上面的基本案列:如果圖片高度是20px,文字font-size為22px時(shí),默認(rèn)對(duì)齊是文字的基線,那么圖片會(huì)偏上2px,這時(shí)只需要將圖片向下偏移2px,就能實(shí)現(xiàn)對(duì)齊效果,而且 vertical-align 這個(gè)屬性的數(shù)值型具有很好的兼容性。

.wrap {
            width: 100%;
            padding-top: 200px;
            text-align: center;
            margin: 20px auto;
            font-size: 22px;
            height: 40px;
            
        }
        .wrap img {
            width: 20px;
            vertical-align: -2px;
        }

關(guān)于css如何實(shí)現(xiàn)文本圖標(biāo)對(duì)齊就分享到這里了,當(dāng)然并不止以上和大家分析的辦法,不過小編可以保證其準(zhǔn)確性是絕對(duì)沒問題的。希望以上內(nèi)容可以對(duì)大家有一定的參考價(jià)值,可以學(xué)以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI