- CSS 教程
- CSS - 首頁
- CSS - 路線圖
- CSS - 簡介
- CSS - 語法
- CSS - 選擇器
- CSS - 引入
- CSS - 測量單位
- CSS - 顏色
- CSS - 背景
- CSS - 字型
- CSS - 文字
- CSS - 圖片
- CSS - 連結
- CSS - 表格
- CSS - 邊框
- CSS - 塊級邊框
- CSS - 內聯邊框
- CSS - 外邊距
- CSS - 列表
- CSS - 內邊距
- CSS - 游標
- CSS - 輪廓
- CSS - 尺寸
- CSS - 捲軸
- CSS - 內聯塊
- CSS - 下拉選單
- CSS - 可見性
- CSS - 溢位
- CSS - 清除浮動
- CSS - 浮動
- CSS - 箭頭
- CSS - 調整大小
- CSS - 引號
- CSS - 順序
- CSS - 位置
- CSS - 連字元
- CSS - 懸停
- CSS - 顯示
- CSS - 聚焦
- CSS - 縮放
- CSS - 轉換
- CSS - 高度
- CSS - 連字元字元
- CSS - 寬度
- CSS - 不透明度
- CSS - Z 索引
- CSS - 底部
- CSS - 導航欄
- CSS - 覆蓋層
- CSS - 表單
- CSS - 對齊
- CSS - 圖示
- CSS - 圖片庫
- CSS - 註釋
- CSS - 載入器
- CSS - 屬性選擇器
- CSS - 組合器
- CSS - 根
- CSS - 盒模型
- CSS - 計數器
- CSS - 剪輯
- CSS - 書寫模式
- CSS - Unicode-bidi
- CSS - min-content
- CSS - 全部
- CSS - 內嵌
- CSS - 隔離
- CSS - 滾動溢位
- CSS - Justify Items
- CSS - Justify Self
- CSS - 製表符大小
- CSS - 指標事件
- CSS - Place Content
- CSS - Place Items
- CSS - Place Self
- CSS - 最大塊尺寸
- CSS - 最小塊尺寸
- CSS - 混合模式
- CSS - 最大內聯尺寸
- CSS - 最小內聯尺寸
- CSS - 偏移量
- CSS - 口音顏色
- CSS - 使用者選擇
- CSS 高階
- CSS - 網格
- CSS - 網格佈局
- CSS - Flexbox
- CSS - 可見性
- CSS - 定位
- CSS - 圖層
- CSS - 偽類
- CSS - 偽元素
- CSS - @規則
- CSS - 文字效果
- CSS - 分頁媒體
- CSS - 列印
- CSS - 佈局
- CSS - 驗證
- CSS - 圖片精靈
- CSS - 重要
- CSS - 資料型別
- CSS3 教程
- CSS3 - 教程
- CSS - 圓角
- CSS - 邊框圖片
- CSS - 多背景
- CSS - 顏色
- CSS - 漸變
- CSS - 盒陰影
- CSS - 盒裝飾中斷
- CSS - 游標顏色
- CSS - 文字陰影
- CSS - 文字
- CSS - 2D 轉換
- CSS - 3D 轉換
- CSS - 過渡
- CSS - 動畫
- CSS - 多列
- CSS - 盒模型
- CSS - 工具提示
- CSS - 按鈕
- CSS - 分頁
- CSS - 變數
- CSS - 媒體查詢
- CSS - 函式
- CSS - 數學函式
- CSS - 遮罩
- CSS - 形狀
- CSS - 樣式影像
- CSS - 特異性
- CSS - 自定義屬性
- CSS 響應式
- CSS RWD - 簡介
- CSS RWD - 視口
- CSS RWD - 網格檢視
- CSS RWD - 媒體查詢
- CSS RWD - 圖片
- CSS RWD - 影片
- CSS RWD - 框架
- CSS 工具
- CSS - PX 到 EM 轉換器
- CSS - 顏色選擇器和動畫
- CSS 資源
- CSS - 有用資源
- CSS - 討論
CSS3 - 盒模型
CSS3 中的 box-sizing 屬性用於定義元素的總寬度和高度是如何計算的。預設情況下,元素的寬度和高度包括其內容、內邊距和邊框。但是,使用 box-sizing 屬性,您可以更改此行為,以包含或排除寬度和高度計算中的內邊距和邊框。
在舊版本的 CSS(CSS2)中,盒模型的工作方式使得元素看起來比傳遞給它的尺寸(寬度和高度)更大。
寬度 + 內邊距 + 邊框 = 元素盒的實際可見/渲染寬度
高度 + 內邊距 + 邊框 = 元素盒的實際可見/渲染高度
CSS3 盒模型屬性
CSS box-sizing 屬性可用於調整元素佈局的行為。
可能的值
box-sizing CSS 屬性可以有一個值,該值是一個關鍵字,可以是以下之一
content-box:這是預設值。當此值傳遞給 box-sizing 屬性時,它將返回預設行為,其中內邊距或/和邊框將新增到元素的總寬度和高度中。
border-box:當此值傳遞給 box-sizing 屬性時,它告訴瀏覽器調整傳遞給元素的內邊距或邊距值。這會導致內容區域縮小並吸收為元素指定的邊框或/和內邊距。它是 <table>、<select>、<button> 和 <input> 元素使用的預設樣式。
padding-box 值不受任何瀏覽器支援,因此不能傳遞給 box-sizing 屬性。
應用於
所有接受寬度或高度的 HTML 元素。
DOM 語法
object.style.boxSizing = "content-box | border-box";
示例
這是一個 CSS 屬性 box-sizing: border-box 的示例
<html>
<head>
<style>
.with-content-box {
width: 200px;
height: 100px;
padding: 10px;
border: 3px solid green;
background-color: rgb(241, 234, 85);
box-sizing: content-box;
}
.with-border-box {
width: 200px;
height: 100px;
padding: 10px;
border: 3px solid rgb(64, 10, 215);
background-color: lightpink;
box-sizing: border-box;
}
</style>
</head>
<body>
<div class="with-content-box">CONTENT BOX</div><br />
<div class="with-border-box">BORDER BOX</div>
</body>
</html>
上面給出的示例清楚地顯示了 box-sizing: border-box 和 box-sizing: content-box 屬性值之間的區別。在這裡,box-sizing: border-box 屬性在計算總寬度和高度時忽略內邊距值。而 box-sizing: content-box 屬性值將內邊距值包含在計算中。
為了獲得流暢、靈活和直觀的響應式設計,可以按以下方式設定 box-sizing: border-box 值
* {
box-sizing: border-box;
}
以上語法可能無法獲得預期結果,因為它忽略了偽元素。因此,還有另一種語法包含用於重置的偽元素。
*, *:before, *:after {
box-sizing: border-box;
}
這種通用的盒模型大小方法將使使用 box-sizing: content-box | padding-box 變得困難。因此,還有另一種語法在這種情況下面可能更有用和更合適。
html {
box-sizing: border-box;
}
*, *:before, *:after {
box-sizing: inherit;
}
這種通用的盒模型大小重置語法更有用,併為使用者提供了更大的靈活性。
儘管每個當前瀏覽器都支援 box-sizing: border-box,無字首;但某些舊版本的瀏覽器需要支援。為了提供該支援,您可能需要按以下方式使用字首 -webkit 和 -moz
html {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
*, *:before, *:after {
-webkit-box-sizing: inherit;
-moz-box-sizing: inherit;
box-sizing: inherit;
}