Tailwind CSS Box Sizing

2022-08-08 10:10 更新

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,
    }
  }


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号