2019年鐵人賽 、 css開始是先看文件,怎麼都不理解 padding 和 margin,後來是靠google的DevTools來理解觀念後,再看一次文件。
範例
HTML
<div class="box">Hi,我是mangoSu</div>
CSS
.box{
  width: 300px;
  height: 300px;
  padding: 30px;
  border: 25px solid grey;
  margin: 40px;
}
如果由內層依序往外點選(content > padding > border > margin),可以看到跟 Box Model 相對應的範圍與顏色。
範例1
只有HTML,沒有設定CSS
<p>Lorem ipsum dolor <mark>sit amet</mark>, consectetur adipisicing elit. 
Accusamus nesciunt voluptatum numquam pariatur iste doloribus magni harum!
</p>
<p> element 沒有設定 height,content 由文字撐起
上面提到的Box Model是默認下的 content-box 型態,而 box-sizing 可以設定不同型態。
content-box
border-box
範例
HTML
 <div class="box box1">box1</div>
 <div class="box box2">box2</div>
CSS
.box{
  width: 150px;
  height: 150px;
  margin:20px;
  padding:40px;
}
.box1{
  background-color: pink;
  border:30px solid red;
}
.box2{
  box-sizing:border-box;
  background-color: lightblue;
  border:30px solid blue;
}
| webpage畫面 | Box Model | |
|---|---|---|
| box-sizing:content-box(預設值) | ![]()  | 
![]()  | 
| box-sizing:border-box | ![]()  | 
![]()  | 
content-box 下,content 的寬不會被壓縮border-box 下,content 的寬會被壓縮command+shift+C
範例1
.box

不打HTML Tag預設是<div>,一樣按下tab鍵
範例2
#container>h4{hello}+.item${$}*5

#container、 h4{hello}、item${$}*5
>表示子層(下一層)+表示兄弟層(同一層)*表示重複數量$表示編號,可和*搭配{}表示本文內容