盒模型

1. 盒模型包括哪些屬性钧排?

盒模型是CSS中一個重要概念,文檔中的每個元素被描繪為矩形盒子。渲染引擎的目的就是判定大小兽间,屬性。盒模型屬性有:

  • margin:外邊距
  • padding:內邊距
  • border:邊框
  • content:內容

boxmodel.png

內容區(qū)content-area:包含元素內容的區(qū)域正塌,元素本身有一定的大小嘀略,占用的就是該空間大小,widthheight屬性可以調節(jié)內容區(qū)域的寬和高乓诽。
盒模型的寬和高:margin+padding+border+width/height帜羊,
如果box-sizing:設置為border-box,則元素的width和height決定了盒模型寬高鸠天。就是說讼育,為元素指定的任何內邊距和邊框都將在已設定的寬度和高度內進行繪制,通過從已設定的寬度和高度分別減去邊框和內邊距才能得到內容的寬度和高度稠集。即:content-width=padding+border+content-width.
應用范圍:適用于塊級元素和inline-block元素奶段,而行內元素雖然在水平方向可以設置margin和padding,且垂直方向能用padding剥纷,但是不屬于盒模型的概念痹籍,如果要應用,則需要借助CSS的display屬性晦鞋。
外邊距合并:當相鄰的兩個盒模型上下緊鄰的時候蹲缠,會選擇margin值較大的作為外邊距,即合并兩個外邊距取大值悠垛。而左右外邊距不合并线定。如圖所示:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
    <style type="text/css" media="screen">
      * {
        box-sizing: border-box;        /* 以邊框作為界限,方便計算 */
      }
      .container1 {
        border: 5px solid black;
        width: 100px;
        height: 100px;
        padding: 10px;
        background-color: red;
        text-align: center;
        vertical-align: middle;
        margin: 30px;
      }
      .container2 {
        border: 5px solid black;
        width: 100px;
        height: 100px;
        padding: 10px;
        background-color: red;
        margin:40px;
      }
      .child {
        border: 1px solid white;
        width: 60px;
        height: 60px;
        background-color: #eee;
          text-align: center;
          vertical-align: middle;
          margin: 0 auto;
          display: table-cell;
      }
    </style>
  </head>
  <body>
    <div class="container1">
      <div class="child">
        <a href="#">link</a>
      </div>
    </div>
    <div class="container2">

    </div>
  </body>
</html>

效果圖:

margin上下合并.png

注意:當我給container1加一個display: inline-block屬性确买,則由于兩者顯示類型的不同斤讥,雖然和盒模型類似,但是margin外邊距不會合并湾趾。如圖所述:

      .container1 {
        border: 5px solid black;
        width: 100px;
        height: 100px;
        padding: 10px;
        background-color: red;
        text-align: center;
        vertical-align: middle;
        margin: 30px;
        display: inline-block; /* 加上這個屬性周偎,margin不合并 */
      }
Paste_Image.png

參考:
盒模型 MDN
CSS3 box-sizing 屬性


2. text-align: center的作用是什么抹剩,作用在什么元素上?能讓什么元素水平居中?

text-align: center作用于塊級元素蓉坎,使塊級元素內部的文本或者圖片等行內元素水平居中顯示澳眷。
eg

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
    <style type="text/css" media="screen">
    .div1 {
       text-align: center;
     }
     div,p {
       border: 1px solid silver;
     }
    </style>
  </head>
  <body>
    <div class="div1">
      啦啦啦啦啦啦啦啦
      <p>
        這是一段測試文本。
      </p>
      ![圖片](http://upload-images.jianshu.io/upload_images/2404178-6ce29190f0303ca3.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
      <div class="div2">
        <p>
          測試文本2蛉艾。
        </p>
      </div>
    </div>
  </body>
</html>

效果圖:

text-align.png

3. 如果遇到一個屬性想知道兼容性钳踊,在哪查看?

can i use網站上查看。

caniuse.png

4. IE 盒模型和W3C盒模型有什么區(qū)別?

W3C盒模型&IE盒模型.gif

如圖所示勿侯,W3C盒模型的width指的是content區(qū)拓瞪,而IE盒模型width指的是content+padding+border。
早期的IE(5.5版本)用的是IE盒模型助琐,而從IE6開始祭埂,只要在文檔中聲明(添加doctype)則,兼容使用W3C盒模型兵钮。
如果IE678未添加doctype蛆橡,即怪異模式,那么也是用IE模型掘譬。
從IE9以后泰演,則不用填寫聲名也用的是W3C模型。
補充
所有的盒模型葱轩,只要沒有添加doctype睦焕,都處于怪異模式,但此時靴拱,只有ie678使用ie盒模型垃喊,其他的雖然處于怪異模式,但仍舊使用標準模型袜炕,其實與普通模式效果相同,怪異模式是在ie6時代為了兼容ie5以及以前版本的瀏覽器保留的 現(xiàn)在實際使用中都使用標準模式添加doctype本谜。

參考:
IE瀏覽器和CSS盒模型
知識點-IE 盒模型 vs 標準盒模型


5. 以下代碼的作用?兼容性妇蛀?

*{
 box-sizing: border-box;
}

box-sizing:設置為border-box,則元素的width和height決定了盒模型寬高笤成。就是說评架,為元素指定的任何內邊距和邊框都將在已設定的寬度和高度內進行繪制,通過從已設定的寬度和高度分別減去邊框和內邊距才能得到內容的寬度和高度炕泳。即:width=padding+border+content纵诞。
如圖所示:

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title></title>
    <style type="text/css" media="screen">
        * {
            box-sizing: border-box;
        }

        .container1 {
            border: 5px solid black;
            width: 100px;
            height: 100px;
            padding: 10px;
            background-color: red;
            text-align: center;
            vertical-align: middle;
            margin: 60px;
        }
    </style>
</head>

<body>
    <div class="container1">

    </div>
</body>

</html>

效果圖:

box-sizing: border-box

代碼題 JS Bin

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市培遵,隨后出現(xiàn)的幾起案子浙芙,更是在濱河造成了極大的恐慌登刺,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嗡呼,死亡現(xiàn)場離奇詭異纸俭,居然都是意外死亡,警方通過查閱死者的電腦和手機南窗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進店門揍很,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人万伤,你說我怎么就攤上這事窒悔。” “怎么了敌买?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵简珠,是天一觀的道長。 經常有香客問我虹钮,道長聋庵,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任芜抒,我火速辦了婚禮珍策,結果婚禮上,老公的妹妹穿的比我還像新娘宅倒。我一直安慰自己攘宙,他們只是感情好,可當我...
    茶點故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布拐迁。 她就那樣靜靜地躺著蹭劈,像睡著了一般。 火紅的嫁衣襯著肌膚如雪线召。 梳的紋絲不亂的頭發(fā)上铺韧,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天,我揣著相機與錄音缓淹,去河邊找鬼哈打。 笑死,一個胖子當著我的面吹牛讯壶,可吹牛的內容都是我干的料仗。 我是一名探鬼主播,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼伏蚊,長吁一口氣:“原來是場噩夢啊……” “哼立轧!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤氛改,失蹤者是張志新(化名)和其女友劉穎帐萎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體胜卤,經...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡疆导,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了瑰艘。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片是鬼。...
    茶點故事閱讀 40,680評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖紫新,靈堂內的尸體忽然破棺而出均蜜,到底是詐尸還是另有隱情,我是刑警寧澤芒率,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布囤耳,位于F島的核電站,受9級特大地震影響偶芍,放射性物質發(fā)生泄漏充择。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一匪蟀、第九天 我趴在偏房一處隱蔽的房頂上張望椎麦。 院中可真熱鬧,春花似錦材彪、人聲如沸观挎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽嘁捷。三九已至,卻和暖如春显熏,著一層夾襖步出監(jiān)牢的瞬間雄嚣,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工喘蟆, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留缓升,地道東北人。 一個月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓蕴轨,卻偏偏與公主長得像港谊,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子尺棋,可洞房花燭夜當晚...
    茶點故事閱讀 45,691評論 2 361

推薦閱讀更多精彩內容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案封锉? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,760評論 1 92
  • 一、盒模型包括哪些屬性膘螟? CSS盒模型~即定義了Web頁面中的元素是如何看做盒子來解析CSS盒模型屬性有: con...
    dengpan閱讀 431評論 0 0
  • CSS盒模型 在CSS中盒模型被分為兩種,第一種是W3C的標準模型真朗,第二種是IE怪異盒模型此疹。兩種盒子模型都包括pa...
    _空空閱讀 3,324評論 0 3
  • 一、盒模型包括哪些屬性 **1遮婶、盒模型是css中元素大小的呈現(xiàn)方式蝗碎,每個元素都有盒模型。它包括元素內容(eleme...
    鴻鵠飛天閱讀 337評論 0 0
  • 最近這段時間,天上的云都挺騷情臀防。 夏天的雨眠菇,說來就來,說去就去清钥。一場短暫的雷暴雨過后琼锋,沉悶過去,煩悶過去祟昭。 每天不...
    王了一一閱讀 1,129評論 36 17