盒模型

盒模型

盒模型

盒模型基礎(chǔ)屬性

瀏覽器默認樣式

瀏覽器對某些元素設置有默認樣式霍殴,如 h1, ul, li 等鹊奖。

/* user agent stylesheet 即瀏覽器默認樣式 */
h1 {
  display: block;
  font-size: 2em;
  -webkit-margin-before: 0.67em;
  -webkit-margin-after: 0.67em;
  -webkit-margin-start: 0px;
  -webkit-margin-end: 0px;
  font-weight: bold;
}

常見處理方式

* {
  margin: 0;
  padding: 0;
}

margin

水平居中

對于固定寬度的塊級元素澄峰,設置 margin-left: auto, margin-right: auto即可實現(xiàn)水平居中

<div class="container">
  ...
</div>

.container {
  width: 960px; /* max-width: 960px; */
  margin: auto;
}

外邊距合并

正常流(Normal Flow)下,外邊距會進行合并葬毫。

  1. 相鄰元素邊距合并
<h1>好好學習</h1>
<h2>天天向上</h2>

h1 { margin: 20px 0; }
h2 { margin: 30px 0; }

  1. 父子元素合并范例
  <header></header>
  <main>
    <h1>饑人谷</h1>
  </main>
  <footer></footer>

  <style>
    header, footer {
      height: 30px;
      background: blue;
    }
    main {
      background: red;
    }

  </style>

  1. 自我合并

浮動元素和絕對定位元素的外邊距不會合并。

外邊距為負

設置 margin-left margin-right 為負數(shù)可以增加塊狀元素寬度活合。

<div class="T"></div>

.T {
  width: 30px;
  height: 210px;
  margin: 50px auto;
  background: orange;
}

.T::after {
  content: '';
  height: 30px;
  margin: 0 -70px;
  display: block;
  background: limegreen;
}

運行結(jié)果 https://codepen.io/twhy/pen/zzrQMR

display

display 用于設置元素渲染框的類型胧谈。

  • none 不顯示元素过椎。
  • block 顯示為塊狀元素室梅。
  • inline 顯示為行內(nèi)元素。
  • inline-block 顯示為行內(nèi)塊疚宇,創(chuàng)建一個 BFC亡鼠。
  • table-cell 顯示行為與 <td> 一樣。?? 垂直居中 https://codepen.io/twhy/pen/rwejpZ
  • flex flex 布局
  • grid grid 布局
  • ...

問題 block敷待,inline间涵,inline-block 元素的區(qū)別是什么?

<details style="box-sizing: border-box; -webkit-tap-highlight-color: transparent; text-size-adjust: none; -webkit-font-smoothing: antialiased; display: block; font-size: 16px; color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: 0.2px; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><summary style="box-sizing: border-box; -webkit-tap-highlight-color: transparent; text-size-adjust: none; -webkit-font-smoothing: antialiased; display: block; font-size: inherit;">參考答案</summary></details>

box-sizing

box-sizing 用于更改用于計算元素寬度和高度的默認的 CSS 盒模型榜揖。

box-sizing: content-box 默認值

.box {
  width: 300px;
  border: 10px;
}

渲染出來的盒子寬度為 320px

box-sizing: border-box

.box {
  width: 300px;
  border: 10px;
  padding: 10px;
  box-sizing: border-box;
}

渲染出來的盒子寬度為 300px

其他相關(guān)屬性

outline

如果你看到被選中的 <a> <input> <button> 周圍有一圈黃或藍色的外框勾哩,就是 outline 了,可以通過設置 outline: 0outline: none 去除举哟。

overflow

overflow 用于控制內(nèi)容溢出包含它的塊狀元素時的顯示方式思劳。
overflow-xoverflow-y 分別用于控制水平溢出和垂直溢出。

  • visible 默認值 顯示溢出的內(nèi)容
  • hidden 內(nèi)容被裁剪且不會出現(xiàn)滾動條
  • scroll 內(nèi)容被裁剪但出現(xiàn)滾動條
  • auto 由瀏覽器決定

inline-block 常見問題 ???

inline-block 之間空隙

?? inline-block 之間有空格妨猩、Tab潜叛、換行符。
?? 給父元素設置 font-size: 0,在 inline-block 元素上重新設置 font-size威兜。

inline-block 導致父元素增高若干像素

?? 給 inline-block 元素設置 vertical-align: top

.item {
  vertical-align: top;
  display: inline-block;
  ...
}

通用解決辦法 不要設置 inline-block销斟,使用 floatflex

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末椒舵,一起剝皮案震驚了整個濱河市蚂踊,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌逮栅,老刑警劉巖悴势,帶你破解...
    沈念sama閱讀 221,548評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異措伐,居然都是意外死亡特纤,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評論 3 399
  • 文/潘曉璐 我一進店門侥加,熙熙樓的掌柜王于貴愁眉苦臉地迎上來捧存,“玉大人,你說我怎么就攤上這事担败∥粞ǎ” “怎么了?”我有些...
    開封第一講書人閱讀 167,990評論 0 360
  • 文/不壞的土叔 我叫張陵提前,是天一觀的道長吗货。 經(jīng)常有香客問我,道長狈网,這世上最難降的妖魔是什么宙搬? 我笑而不...
    開封第一講書人閱讀 59,618評論 1 296
  • 正文 為了忘掉前任枚驻,我火速辦了婚禮恬口,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘瑟曲。我一直安慰自己士鸥,他們只是感情好闲孤,可當我...
    茶點故事閱讀 68,618評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著烤礁,像睡著了一般讼积。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上脚仔,一...
    開封第一講書人閱讀 52,246評論 1 308
  • 那天币砂,我揣著相機與錄音,去河邊找鬼玻侥。 笑死决摧,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播掌桩,決...
    沈念sama閱讀 40,819評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼边锁,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了波岛?” 一聲冷哼從身側(cè)響起茅坛,我...
    開封第一講書人閱讀 39,725評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎则拷,沒想到半個月后贡蓖,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,268評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡煌茬,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,356評論 3 340
  • 正文 我和宋清朗相戀三年斥铺,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片坛善。...
    茶點故事閱讀 40,488評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡晾蜘,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出眠屎,到底是詐尸還是另有隱情剔交,我是刑警寧澤,帶...
    沈念sama閱讀 36,181評論 5 350
  • 正文 年R本政府宣布改衩,位于F島的核電站岖常,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏葫督。R本人自食惡果不足惜腥椒,卻給世界環(huán)境...
    茶點故事閱讀 41,862評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望候衍。 院中可真熱鬧,春花似錦洒放、人聲如沸蛉鹿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽妖异。三九已至,卻和暖如春领追,著一層夾襖步出監(jiān)牢的瞬間他膳,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評論 1 272
  • 我被黑心中介騙來泰國打工绒窑, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留棕孙,地道東北人。 一個月前我還...
    沈念sama閱讀 48,897評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像蟀俊,于是被迫代替她去往敵國和親钦铺。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,500評論 2 359

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

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案肢预? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,759評論 1 92
  • 大家好烫映,我是IT修真院的學員沼本,一位正直純潔善良的web前端程序員 今天給大家分享一下如何理解盒模型? 1.背景介紹...
    寧靜森林閱讀 2,165評論 0 0
  • CSS假定每個元素都會生成一個或者多個矩形框锭沟,這稱為元素框(規(guī)范的將來版本可能允許非矩形框抽兆,不過對現(xiàn)在來說,框都是...
    四光年閱讀 825評論 0 10
  • 偶有閑暇整理一下書柜冈钦,發(fā)現(xiàn)了幾篇隨筆郊丛,讀來覺得很溫馨,現(xiàn)錄下為念瞧筛。 一厉熟、砍倒大樹 深冬某日,狂風夾著的沙塵鋪天蓋地...
    綠水人家a閱讀 187評論 2 1
  • 時過境遷滄海桑田较幌,當你已經(jīng)被歲月磨去了棱角揍瑟,當你變得世故圓滑不再純真,當你成熟穩(wěn)重能夠撐起半邊天乍炉,你是否還記得年少...
    作者童林閱讀 2,629評論 18 68