用來決定瀏覽器如何計算元素 (element) 的大小
使用 box-border
將元素的 box-sizing
設置成 border-box
的話,在你給元素高度和寬度時,瀏覽器會把該元素的邊框和內距給一起包含進去。
這表示四個邊都有 2px 邊框和 4px 內距的 100px × 100px 元素,將會被宣染成 100px × 100px 大小,而內容區塊會是 88px × 88px。
Tailwind 在 preflight base styles 中對每個元素皆以這個設定為預設。
<div class="box-border h-32 w-32 p-4 border-4 ...">
<!-- ... -->
</div>
使用 box-content
將元素的 box-sizing
設置成 content-box
的話,瀏覽器會在元素指定的基礎高度和寬度之上再額外加入邊框和內距。
這表示四個邊都有 2px 邊框和 4px 內距的 100px × 100px 元素,實際上將會被宣染成 112px × 112px 的大小,內容區塊則是 100px × 100px。
<div class="box-content h-32 w-32 p-4 border-4 ...">
<!-- ... -->
</div>
加上 {screen}
前綴詞給任意的 box-sizing 來控制在特定斷點上的 box-sizing 效果。例如使用 md:box-content
會讓 box-content
功能只作用在中等螢幕大小以上的裝置。
<div class="box-border md:box-content ...">
<!-- ... -->
</div>
想要獲得更多關於 Tailwind 響應式設計的資訊,請閱讀 響應式設計 文件。
默認情況下, 只有 響應式 的 box-sizing 變化模式 (variants) 會產生。
在 tailwind.config.js
的 variants
區塊中變更 boxSizing
屬性來決定有哪些變化模式會生成。
舉個例子來說,這個設定將會生成 響應式 和 hover 的變化模式。
// tailwind.config.js
module.exports = {
variants: {
extend: {
// ...
+ boxSizing: ['responsive', 'hover'],
}
}
}
如果你不打算在專案中使用 box-sizing 功能,可以在你的設定檔裡的 corePlugins
屬性中將 boxSizing
設定為 false
來停用功能:
// tailwind.config.js
module.exports = {
corePlugins: {
// ...
+ boxSizing: false,
}
}