學(xué)習(xí)CSS你必須踩得那些坑(六)

這里加了邊框方便調(diào)試

·為了能夠設(shè)置在垂直方向上的高度(padding-top/bottom, margin-top/bottom, height):我們設(shè)置行內(nèi)元素display為inline-block

行內(nèi)元素是就像水一樣,垂直方向上設(shè)置高度都沒用,所以有時候需要設(shè)置為inline-block或block。

有個形象的比喻,inline=>水,inline-block=>果凍,block=>石頭

·設(shè)置box-sizing為border-box

默認情況下,元素的height只包括內(nèi)容區(qū)域。但是我們經(jīng)常需要加入border或者padding,元素的高度的實際高度是padding + border + height,每次你都需要減去padding和border。除了計算麻煩之外,用百分比設(shè)置高度的時候,你經(jīng)常會遇到內(nèi)容區(qū)域溢出的問題:

html,body{

height: 100%;

width:100%;

}

.container{

padding: 0 20px;

}

Hello World

[站外圖片上傳中……(4)]

·通過line-height進行垂直居中:

css中水平居中很簡單,但是垂直居中就不好做了。通過設(shè)置line-height等于height可以讓文字垂直居中。關(guān)于居中的問題,參考[譯]CSS居中完全指南http://www.voyax.me/2016/04/19/譯-CSS居中完全指南/

最后還有一個大坑?。?!

[站外圖片上傳中……(5)]

為啥navbar高度沒有撐開!??!好吧,都是float的錯,float導(dǎo)致元素溢出了文檔流,從而父元素的高度不會隨著float元素高度的變化而適應(yīng)。

單從float的角度說,有兩個思路:

1.將父元素變成BFC

2.清除浮動

代碼如下:

通過overflow觸發(fā)BFC

.navbar::after{

overflow: hidden;

}

clearfix(關(guān)于clearfix的討論,看看stackoverflow上的這個討論

.clearfix:after {

content: " "; /* Older browser do not support empty content */

visibility: hidden;

display: block;

height: 0;

clear: both;

}

總結(jié)

這一章主要帶著你踩踩坑,介紹了幾個開發(fā)中經(jīng)常遇到的問題。下一張我們看看在實際開發(fā)中,如果從零開始組織你的代碼,同時逐步完成這個頁面

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J的外補...
    _Yfling閱讀 14,168評論 1 92
  • 目標(biāo) 按照Sketch設(shè)計稿,實現(xiàn)一個完整的頁面,希望你學(xué)完這一些列課程后,能夠系統(tǒng)地掌握CSS,真正玩轉(zhuǎn)CSS ...
    四光年閱讀 833評論 0 1
  • CSS 1、介紹一下標(biāo)準的CSS的盒子模型?低版本IE的盒子模型有什么不同的? (1)有兩種,IE盒子模型、W3C...
    京程一燈閱讀 1,787評論 3 26
  • “我都已經(jīng)做到這地步了,為什么他連回頭看看我都不愿意?” 一 前不久下載了荔枝FM,在這個神奇的軟件上邂逅了著名情...
    亓沐吖閱讀 1,992評論 4 11
  • 多愁善感的時候總是想寫點東西,總覺得只有孤獨才可以成就人,一個人的時候也可以撐起一切。本就是個三分鐘熱度的人,望能堅持。
    芭蕉葉落閱讀 184評論 0 0

友情鏈接更多精彩內(nèi)容