codecamp

Tailwind CSS Box Sizing

Box Sizing

控制浏览器如何计算元素的总大小的功能类。

Class
Properties
box-border box-sizing: border-box;
box-content box-sizing: content-box;

包括边框和内边距

使用 ​box-border​ 将元素的 ​box-sizing​ 设置为 ​border-box​,告诉浏览器,当您给它一个高度或宽度时,它将包括元素的边框和内边距。

这意味着一个 100px × 100px 的元素,边框为 2px,四边有 4px 的内边距,将渲染为 100px × 100px,内部内容区域为 88px × 88px。

Tailwind 在 preflight基础样式 中针对所有元素把这做为默认设置。


<div class="box-border h-32 w-32 p-4 border-4 ...">
  <!-- ... -->
</div>

不包括边框和内边距

使用 ​box-content​ 将元素的 ​box-sizing​ 设置为 ​content-box​,告诉浏览器在元素的指定宽度或高度的基础上添加边框和内边距。

这意味着一个 100px × 100px 的元素,如果有 2px 的边框,四边有 4px 的内边距,实际上会渲染为 112px × 112px,内部内容区域为 100px × 100px。


<div class="box-content h-32 w-32 p-4 border-4 ...">
  <!-- ... -->
</div>

响应式

要控制特定断点处的 box-sizing,可为任何现有的 box-sizing 功能类添加 ​{screen}:​ 前缀。例如,使用 ​md:box-content​ 只给中等以上的屏幕尺寸应用 ​box-content​ 功能类。

<div class="box-border md:box-content ...">
  <!-- ... -->
</div>

关于 Tailwind 的响应式设计功能的更多信息,请查看 响应式设计 文档。

自定义

变体

默认情况下, 针对 box-sizing 功能类,只生成 responsive 变体。

您可以通过修改您的 ​tailwind.config.js​ 文件中的 ​variants ​部分中的 ​boxSizing ​属性来控制为 box-sizing 功能生成哪些变体。

例如,这个配置也将生成 hover and focus 变体:

  // tailwind.config.js
  module.exports = {
    variants: {
      extend: {
        // ...
       boxSizing: ['hover', 'focus'],
      }
    }
  }

禁用

如果您不打算在您的项目中使用 box-sizing 功能,您可以通过在配置文件的 ​corePlugins ​部分将 ​boxSizing ​属性设置为 ​false ​来完全禁用它们:

  // tailwind.config.js
  module.exports = {
    corePlugins: {
      // ...
     boxSizing: false,
    }
  }


Tailwind CSS Box Decoration Break
Tailwind CSS Display
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

Tailwind CSS 基础样式

Tailwind CSS 可访问性

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }