疑惑是最好的老師(一)

本文版權(quán)歸鄭哲明和饑人谷所有,轉(zhuǎn)載請(qǐng)注明來(lái)源


這里記錄我在學(xué)習(xí)前端過(guò)程中所遇到的困惑及自己的解答。


1、使用display:table-cell垂直居中為什么需要上級(jí)元素display:table?

display:table和display:table-call的元素寬度都會(huì)收縮(即內(nèi)容必要寬度);父元素display:table,同時(shí)子元素display:table-cell,子元素會(huì)撐滿父容器,此時(shí)對(duì)子元素使用vertical-align,垂直居中會(huì)起作用。

這其中的關(guān)鍵是 display:table-cell元素的高度要寫死(百分比不起作用),此時(shí)垂直居中有效,display:table倒并不是必要條件。

2、為什么display:table-cell的元素脫離普通流后,vertical-align:middle無(wú)效?

vertical-align無(wú)效

暫時(shí)不清楚。

3、為什么display:table-cell的元素使用margin無(wú)效?

Applies to: all elements except elements with table display types other than table-caption, table and inline-table
除了 display 為 table 的屬性不支援外,適用所有元素(包含 table-caption, table, inline-table )。

display:table-cell的元素控制間距
  • 為什么img的下方有空隙?如下圖

2016-07-12 15 37 00.png

不僅僅是img有,本質(zhì)原因是這兩個(gè)屬性的影響:display:inilne-block或display:inline、vertical-align:baseline。

默認(rèn)圖片的基線在圖片底端,當(dāng)有vertical-align:baseline時(shí),元素基線即與line box 基線對(duì)齊,baseline的下方給字母留出一點(diǎn)空間,即形成空隙。解決方案就是改變line box 的baseline的位置。

注意圖片的vertical特性:圖片撐開(kāi)了line box的高度,line box的基線將隨圖片變動(dòng)。
參考:
vertical-align:You need to konw

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 問(wèn)答題47 /72 常見(jiàn)瀏覽器兼容性問(wèn)題與解決方案? 參考答案 (1)瀏覽器兼容問(wèn)題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,801評(píng)論 1 92
  • 有些東西我們經(jīng)常用,但是我們卻并不了解它的原理,所以一旦換了場(chǎng)景,好多東西就不知道該怎么用了。最近一直很糾結(jié)ver...
    朱小維閱讀 5,008評(píng)論 8 34
  • 移動(dòng)開(kāi)發(fā)基本知識(shí)點(diǎn) 一.使用rem作為單位 html { font-size: 100px; } @media(m...
    橫沖直撞666閱讀 3,514評(píng)論 0 6
  • H5移動(dòng)端知識(shí)點(diǎn)總結(jié) 閱讀目錄 移動(dòng)開(kāi)發(fā)基本知識(shí)點(diǎn) calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇閱讀 4,625評(píng)論 0 26
  • 明天你要去哪里呀 我只是去尋找你的方向 迷人的香 勾人的唇 你何時(shí)才能想起我們的往事 回憶那么那么痛 不要再想 既...
    懵懂的女孩兒閱讀 121評(píng)論 0 1