经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » HTML/CSS » CSS » 查看文章
tailwindcss -原子化 CSS 框架
来源:cnblogs  作者:风吹De麦浪  时间:2023/8/30 9:12:05  对本文有异议

原子化 CSS 框架

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

  1. .block {
  2. display: block;
  3. }
  4. .flex {
  5. display:flex
  6. }
  7. .flex-center {
  8. align-items: center;
  9. justify-content: center;
  10. }
  11. .w1 {
  12. width: 1%;
  13. }
  14. /* 1...100 */
  15. .w100 {
  16. width: 100%;
  17. }

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

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

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

tailwindcss 中的原子化 css 写法:

  1. <div>
  2. <ul class=" flex flex-row-reverse">
  3. <li class=" w-4 border bg-gray-600 px-10">1</li>
  4. <li class=" w-4 border bg-gray-600 px-10">2</li>
  5. <li class=" w-4 border bg-gray-600 px-10">3</li>
  6. <li class=" w-4 border bg-gray-600 px-10">4</li>
  7. </ul>
  8. </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 的方式完成样式编写。

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

 

原文链接:https://www.cnblogs.com/longbensong/p/17663711.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号