tailwindcss-原子化CSS框架

原子化 CSS 框架

我记得很久之前有时候为了少写些css,我们通常会有如下的样板代码

.block {
  display: block;
}
.flex {
  display:flex
}

.flex-center {
  align-items: center;
  justify-content: center;
}

.w1 {
  width: 1%;
}
/* 1...100 */
.w100 {
  width: 100%;
}

这样我们可以很方便的复用一些样式,可以偷那么一点点懒。

类似上面把样式分解为尽可能小的样式类,每个表示一个具体的样式,比如字体大小、颜色、边框等,然后将这些单位组合起来,可以快速创建样式并进行复用。

所以定义一些细粒度的 class,我们就叫做原子 class,然后在 dom节点里面直接使用这些原子化的 class 即可。

tailwindcss 中的原子化 css 写法:

<div>
  <ul class=" flex flex-row-reverse">
    <li class=" w-4 border bg-gray-600 px-10">1</li>
    <li class=" w-4 border bg-gray-600 px-10">2</li>
    <li class=" w-4 border bg-gray-600 px-10">3</li>
    <li class=" w-4 border bg-gray-600 px-10">4</li>
  </ul>
</div>

 

效果:

tailwindcss 介绍

最开始的时候我以为tailwindcss 是类似 Bootstrap 提供大量预先设计的组件、样式,后面看了官网的介绍 才知道,他们之间的设计理念有大的不同。

tailwindss 类似更加底层的抽象,他会扫描所有 HTML 文件、JavaScript 组件和任何其他模板的类名,根据他定义的规则来生成相应的样式,仅生成在项目中实际使用的CSS ,这样我们可以得到尽可能小的 CSS 文件

tailwindcss 的css 样式规则也非常好记,有点类似key-value 的感觉,如 

如果自己要的值没有可以用中括号代替 如 设置宽度为 100px,w-[100px]

如果觉得样式太多,你可以通过 @layer@apply 或者插件的方式扩展原子 class。

甚至是你希望改变默认的值,你都可以通过tailwindcss 配置文件进行配置

tailwindcss 功能非常强大、非常灵活,如响应式、自定义配置、集成postcss 插件等,具体可以查看官网,官网文档也非常清晰。

官网:https://tailwindcss.com/

样式智能提示插件

vacode 编辑器安装 prettier-plugin-tailwindcss 这个插件有智能提示,可以查看它对应的样式,帮助我们提高开发效率。

小结

tailwind 文档提到了几个好处:

传统 css 写法是定义 class,然后在 class 内部写样式,而原子化 css 是预定义一些细粒度 class,通过组合 class 的方式完成样式编写。

目前我也是最近才开始用,目前感觉还可以,没用过的可以试试。