盒子模型

一、盒子模型

  1. 什么是css盒子模型
  • css中的盒子模型僅僅是一個形象的比喻,HTML中所有的標(biāo)簽都是盒子

  • 在HTML中所有的標(biāo)簽都可以設(shè)置:
    寬度/高度 == 指定可以存放內(nèi)容的區(qū)域
    內(nèi)邊距 == 填充物
    邊框 == 手機盒子自己
    外邊框 == 盒子與盒子之間的間隙

二、盒子模型的寬度和高度

  1. 內(nèi)容的寬度和高度
  • 通過標(biāo)簽的width/height屬性設(shè)置的寬度和高度;
  1. 元素的寬度和高度
  • 寬度= 左邊框 + 左內(nèi)邊距 + width + 右邊內(nèi)距 + 右邊框
  • 高度=同理可證
  1. 元素空間的寬度和高度
  • 寬度=左外邊框+左邊框 + 左內(nèi)邊距 + width + 右邊內(nèi)距 + 右邊框+右外邊框
  • 高度=同理可證

三、盒子的box-sizing 屬性

  1. css3中新增了一個box-sizing屬性,這個屬性可以保證我們給盒子新增padding 和border之后,盒子元素的寬度和高度不變。
  2. box-sizing屬性是如何保證增加padding和border之后,盒子元素的寬度和高度不變?
  • 是通過減去一部分內(nèi)容的寬度和高度
  1. box-sizing的取值:
    3.1 content-box:
    元素的寬高= 邊框+內(nèi)邊距+內(nèi)容寬高

3.2 border-box:(元素的大小不會改變)
元素的寬高=width/height屬性設(shè)置的數(shù)值

注意點:

  1. 如果兩個盒子是嵌套關(guān)系,那么設(shè)置了里面的一個盒子的頂部外邊框,外面的盒子也會被頂下來。
    2.如果外面的盒子不想被一起頂下來,納悶可以給外面的盒子添加一個邊框?qū)傩浴?/li>
  2. 在企業(yè)開發(fā)中一般情況下如果需要控制嵌套靠關(guān)系盒子之間的距離,應(yīng)該首先考慮padding,其次考慮margin,因為margin本質(zhì)上是用于控制兄弟關(guān)系之間的間隙的。
  3. 在嵌套關(guān)系的盒子中,我們可以利用margin:0 auto的方式來讓里面盒子在外面的盒子中水平居中。margin:0 auto;只是對水平方向有效,對垂直方向無效。

四、盒子居中和內(nèi)容居中

  1. text-align:center 和 margin:0 auto 的區(qū)別
  • text-align:center: 是讓盒子中的文字/圖片居中顯示
  • margin:0 auto :是讓盒子自己居中顯示

五、清除默認邊距(外邊距和內(nèi)邊距)

  1. 為什么要清空默認邊距
  • 在企業(yè)開發(fā)中,為了更好的控制盒子的寬高和計算盒子的寬高等等,所以在企業(yè)開發(fā)中,編寫代碼之前第一件事情就是清空默認的邊距。
  1. 如何清空默認的邊距?
*{
margin:0;
padding:0;
}
  1. 通配符選擇器會遍歷當(dāng)前界面所有的標(biāo)簽,所以性能不好。

  2. 企業(yè)開發(fā)中可以從這個網(wǎng)址中拷貝:
    http://yui.yahooapis.com/3.18.1/build/cssreset/cssreset-min.css

六、行高和字號

  1. 什么是行高
  • 在css中,所有的行,都是有行高的。
  • line-height: 2px.:行高。

注意點

  • 行高和元素的高度不一樣。

規(guī)律

  • 文字在行高中默認是垂直居中的;
  • 在企業(yè)開發(fā)中,我們經(jīng)常將盒子的高度和行高設(shè)置為一樣,那么就可以保證一行文字在盒子的高度中是垂直居中的,簡而言之就是:要想一行文字在盒子中垂直居中,那么只需要設(shè)置這行文字的行高等于盒子的高即可。
  • 在企業(yè)中開發(fā)中,如果一個盒子中有多行文字,那么我們就不能使用設(shè)置行高等于盒子高來實現(xiàn)讓文字垂直居中,只能通過設(shè)置padding來讓文字居中。

七 、還原字體和字號

注意點

  • 在企業(yè)開發(fā)中,如果一個盒子中存儲的是文字,那么一般情況下,我們會以盒子左邊的內(nèi)邊距為基準(zhǔn),不會以右邊的內(nèi)邊距為基準(zhǔn),因為右邊的內(nèi)邊距有誤差。
  • 右邊邊距的誤差從何而來?因為右邊如果放不下一個文字,那么文字就會換行顯示,這樣導(dǎo)致右邊的會有誤差。
  • 頂部的內(nèi)邊距并不是邊框到文字頂部的距離,而是邊框到行高頂部的距離。

八、文章界面

1、開始寫網(wǎng)頁的步驟

  • 1.1 清空所有的邊距
  • 1.2 從外到內(nèi),從上到下的編寫網(wǎng)頁代碼
最后編輯于
?著作權(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)容

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