盒模型理解及基本選擇器初識

來到重新學(xué)習(xí)基礎(chǔ)的第二天,我們主要加深了盒子模型的理解,了解到標(biāo)準(zhǔn)盒模型與怪異盒模型的區(qū)別,和css的三種引入方式的優(yōu)缺點,還有css幾種基本選擇器的選擇使用場景。

1.淺談盒子模型

盒子模型作為前端面試題之一的存在,今天刷新了我對它的理解,并不僅僅只是通過將border,content,margin,padding用盒子的方式體現(xiàn)出來

盒子模型分為兩種標(biāo)準(zhǔn)盒模型 和怪異盒模型(IE盒模型),標(biāo)準(zhǔn)盒模型中可以通過box-sizing: border-box將其變成怪異盒模型

1.1.標(biāo)準(zhǔn)盒模型

它的內(nèi)容: width*height;

它的盒子大?。海╳idth+padding+border)*(height+padding+border)

它的區(qū)域尺寸:(width+padding+border+margin)*(height+padding+border+margin)

標(biāo)準(zhǔn)盒模型

1.2.怪異盒模型

它的內(nèi)容: (width-padding-border)*(height-padding-border)

它的盒子大?。?width*height

它的區(qū)域大小:(width+margin)* (height+margin)

怪異盒模型

2.css的三種引入方式

2.1行間樣式表

行間樣式表

優(yōu)點:不會產(chǎn)生額外的請求

缺點: 容易產(chǎn)生重復(fù)的代碼,造成文檔體積變大,不利于維護,有違樣式與結(jié)構(gòu)分離的規(guī)范

2.2 內(nèi)部樣式表

優(yōu)點:不會產(chǎn)生額外的請求

初步實現(xiàn)結(jié)構(gòu)與樣式的分離

缺點:代碼復(fù)用不方便

適合單頁面網(wǎng)站應(yīng)用

2.3 外部樣式表

優(yōu)點:利于后期維護,可以重復(fù)使用,實現(xiàn)了結(jié)構(gòu)與樣式的分離

缺點:會產(chǎn)生額外的請求(后期我們會借助工具抹平這個缺點)

3.幾種基礎(chǔ)CSS選擇器的使用

3.1 通配選擇器

* {

}

使用場景:作用于所有標(biāo)簽,無論你有沒有寫,有沒有在文檔中出現(xiàn)

3.2標(biāo)簽選擇器

div {

}

使用場景:作用于一類標(biāo)簽,方式是通過標(biāo)簽名稱,使用場景:重置某類標(biāo)簽的默認(rèn)樣式。

拓展:當(dāng)img標(biāo)簽被a 標(biāo)簽包裹時候,會產(chǎn)生border和outline;

3.3 群組選擇器?

使用場景:常用于優(yōu)化代碼,減少文檔體積

3.4后代選擇器 ? ? 選擇器1 選擇器2 選擇器3 選擇器4 {

}

使用場景:樣式作用于最后一個選擇器,前面的選擇器只是過濾條件,方便定位

3.5 類選擇器

使用場景:可以應(yīng)付各種場景,是我們最常使用的一個選擇器。class名可以多個,多個class名用空格隔開,主要用于多個樣式相同的元素設(shè)置上

<div class="">我是div1</div>

4.inline-block 適用于結(jié)構(gòu)相同的布局,可以設(shè)置寬高支持盒模型,并且不獨占一行。

inline標(biāo)簽 不可以設(shè)置寬高,寬高由內(nèi)容支撐開,inline標(biāo)簽對margin左右,padding左右支持較好,上下間距慎用,inline元素的margin和padding屬性,水平方向的padding-left, padding-right, margin-left, margin-right都產(chǎn)生邊距效果;但豎直方向的padding-top, padding-bottom, margin-top, margin-bottom不會產(chǎn)生邊距效果。

5.相對路徑于絕對路徑

相對路徑 相對當(dāng)前文件,確定引入圖片的位置?

使用場景:1.在html中引入css文件,js文件,圖片等 2.在css中引入圖片;

絕對路徑

絕對路徑

6.關(guān)于margin與padding

盒子與盒子之前margin,盒子內(nèi)部用padding,盒子尺寸盡量用auto;

7.BFC應(yīng)用1

防止margin重疊(方法:給父級加上border,觸發(fā)BFC)

浮動相關(guān)問題 (使得父元素包含子元素,常見的方式是為父元素設(shè)置overflow:hidden或者浮動父元素。根本原因在于創(chuàng)建BFC的元素,子浮動元素也會參與其高度計算,即不會產(chǎn)生高度塌陷問題。)

最后編輯于
?著作權(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(rèn)的外補...
    _Yfling閱讀 14,144評論 1 92
  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font,text-align,li...
    wzhiq896閱讀 2,117評論 0 2
  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font,text-align,li...
    love2013閱讀 2,435評論 0 11
  • 拓展:瀏覽器一次可以向服務(wù)器并發(fā)8個請求,第九個需要等到下一次 1、元素的顯示方式 div標(biāo)簽:塊級元素(blo...
    雅玲啞鈴閱讀 478評論 0 6
  • ?前端面試題匯總 一、HTML和CSS 21 你做的頁面在哪些流覽器測試過?這些瀏覽器的內(nèi)核分別是什么? ...
    Simon_s閱讀 2,371評論 0 8

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