鍍金池/ 問答/HTML/ 關于font-size:0導致的vertical-align有差異產(chǎn)生的疑惑

關于font-size:0導致的vertical-align有差異產(chǎn)生的疑惑

在設計inline元素的時候會有個小小的空白,為了代碼易讀,不縮進html代碼選擇了font-size:0,但是正常不加font-size:0,設置vertical-align:text-top結(jié)果是這樣的,和我預想一樣:

clipboard.png

加了font-size:0,結(jié)果是這樣的

clipboard.png

不知道什么原因,希望能得到大神指點,萬分感謝


補充下,font-size在父類里設置為了0,但在.text設置為了12px,希望能夠在瀏覽器試試,謝謝

APPENDIX:
#css
.support{
    width: 80%;
    margin: 0 auto;
    font-size:0;          //消除內(nèi)聯(lián)元素間隙
    border: 1px solid #ccc;
}
.icon{                   //圖片font-size:0
    width:40px;
    height:40px;
    display:inline-block;
    vertical-align:text-top;
    margin-right:6px;
    background-size:40px 40px;
    background-repeat: no-repeat;
    background: url('xxx')
}
.text{
    font-size:12px;    //這里再次設置font-size:12px
    line-height: 40px;
}


#html
<div class="support">
    <span class="icon"></span>
    <span class="text">Text...</span>
</div>
回答
編輯回答
萌小萌

clipboard.png
你span給了行高,有沒給它inline-block,所以你在控制臺看的時候,之后灰色那么大,實際上他占據(jù)的大小是紅色那么大.
text-top表現(xiàn)為元素和父級的content-area 對其

clipboard.png
加一個x看一下就知道了,本來是x和右元素基線對其,所以圖標和x的content-area上邊對其,就表現(xiàn)為差不多中間的位置.
你把font-size設為0,x基線對其就是和text文字下邊緣對其,那圖標和content-area對其不就是和text文字下邊緣對其么.

clipboard.png

2018年2月4日 08:50
編輯回答
貓小柒

謝邀謝邀....本來想怒答一波,但是怕誤人子弟....還是給你看張鑫旭大神的吧...

戳這里,關于text-top的理解

2018年9月14日 20:08