這篇文章主要介紹html中如何解決圖片與文字垂直方向不對齊問題,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!
成都創(chuàng)新互聯(lián)專注于長泰企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),商城網(wǎng)站建設(shè)。長泰網(wǎng)站建設(shè)公司,為長泰等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站開發(fā),專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
比如說,現(xiàn)在我要做一個簡單的刪除按鈕,只由一個icon和“刪除”兩個字組成,你會如何布局,給你30秒時間考慮。
好,先亮出HTML代碼如下:
刪除
很簡單,就是一個class為del的div元素下有兩個span標(biāo)簽,當(dāng)然icon你也可以直接用偽元素代替(還不知道偽元素的面壁思過去...)。
接下來你可能會這么寫CSS:
.del{ font-size: 18px;} .del .icon{ display: inline-block; width: 16px; height: 24px; margin-right: 5px; background: url("imgs/delete.png") no-repeat center; background-size: 100%;}
然后它就變成這個樣子了:
咦?好像跟想象的不太一樣啊!為什么圖片和文字垂直方向上不能對齊呢?Why?
這是因為圖片和文字在行內(nèi)垂直方向默認(rèn)是以基線(baseline)對齊的,圖片基線在圖片底部,而文字基線卻在文字中點偏下的位置,所以才會顯示成上圖的樣子。那么這個問題該如何解決呢?
很簡單,我們只需給圖片和文字分別加上 vertical-align: middle即可:
.del .icon{ display: inline-block; width: 18px; height: 24px; margin-right: 5px; vertical-align: middle; background: url("imgs/delete.png") no-repeat center; background-size: 100%;} .del span{ vertical-align: middle;}
這樣的話,圖片和文字就以其中心線對齊了:
說到這里,其實本文基本已經(jīng)結(jié)束了,但是經(jīng)過本人親測發(fā)現(xiàn),在移動端卻會發(fā)現(xiàn)圖片和文字又會出現(xiàn)不對齊的情況了,但這只是部分瀏覽器出現(xiàn)的兼容性問題,解決方法也是有的,就是在設(shè)置文字字體大小和icon大小時盡量設(shè)置為5的整數(shù)倍,并盡量讓icon高度與字體大小相同。那么本例的代碼將寫成下面這樣:
.del{ font-size: 20px;} .del .icon{ display: inline-block; width: 20px; height: 25px; margin-right: 5px; vertical-align: middle; background: url("imgs/delete.png") no-repeat center; background-size: 100%;} .del span{ vertical-align: middle;}
這樣基本也沒有什么問題了
以上是“html中如何解決圖片與文字垂直方向不對齊問題”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!