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 的方式完成样式编写。
目前我也是最近才开始用,目前感觉还可以,没用过的可以试试。