iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 16
1
自我挑戰組

學習 HTML / CSS 遇到的問題 系列 第 16

關於盒模型 ( box model )

  • 分享至 

  • xImage
  •  

關於盒模型的介紹可以參考文章:
前端基礎:CSS 盒模型(box model). 什麼是 box model? | by Hugh’s Program learning | Medium
CSS 基础框盒模型介绍 - CSS(层叠样式表) | MDN
最一開始學習網頁排版時,常常會忘記使用 devtool 來查看元素的空間,一直憑感覺設定,然後設定錯了就會被提醒善用開發者模式來看,後來隨著排版練習幾次,版型變稍微複雜後,使用 devtool 很容易隨時調整到自己想要的樣子,再將設定的樣式貼回編輯器中:D

從這個開發者模式截圖可以知道,這個 HTML 元素的寬和高是 300px、border 是 5px、margin 是 50px
需注意的是 padding 和 border 是包含在這個 HTML 元素的空間的,margin 可以說是此 HTML 元素與其他內容的間距,若了解此觀念就可以在排版時對於要使用 margin 或 padding 比較不疑惑
若對於 padding 和 margin 的觀念不太熟悉,可嘗試在 HTML 元素加上背景顏色來方便自己快速辨識是元素內外間距,自己覺得有效 XD

有個常見的問題是初學時會認為若這個 HTML 元素的寬和高都是 0,就不會有 border,需注意 margin / padding / border 本身都有佔空間,因此當元素本身沒有空間時,若有設定 margin / padding / border 元素就會有空間

若是元素本身沒有空間只有 border ,並將上下左右的 border 都設定不同顏色,就會發現每邊 border 會是一個梯形

<div class="box"></div>


.box {
  border-top: 50px solid #274c77;
  border-bottom: 50px solid #6096ba;
  border-left: 50px solid #a3cef1;
  border-right: 50px solid #8b8c89;
  margin: 50px;
}

參考資料:

前端基礎:CSS 盒模型(box model). 什麼是 box model? | by Hugh’s Program learning | Medium
CSS 基础框盒模型介绍 - CSS(层叠样式表) | MDN


上一篇
外/內部 CSS 及 CSS 屬性支援
下一篇
簡略認識 CSS 前綴詞
系列文
學習 HTML / CSS 遇到的問題 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言