首页 > 其他分享 >Tailwind CSS与写全局样式的优势

Tailwind CSS与写全局样式的优势

时间:2023-05-30 16:34:06浏览次数:49  
标签:flex tailwind Tailwind 样式 CSS 类名

Tailwind CSS 是一个基于原子类的 CSS 框架,它提供了一系列的 CSS 类,可以用来快速构建网页界面。与传统的 CSS 框架不同,Tailwind CSS 不是提供一些预定义的样式,而是提供了一系列的原子类,诸如 flexpt-4text-center 和 rotate-90 这样的的类,这些原子类可以组合使用,从而构建出任意的样式。

Tailwind CSS 的原子类非常细致,包括了各种常见的 CSS 属性,如颜色、字体、边框、间距、宽度、高度等等。使用 Tailwind CSS 可以大大提高开发效率,因为你不需要手写 CSS 样式,只需要在 HTML 中添加相应的 CSS 类即可。

另外,Tailwind CSS 还提供了一些实用的工具类,如响应式布局、文本对齐、背景颜色、阴影等等,这些工具类可以帮助你更快速地构建出复杂的网页界面。

例如我在index.html的div标签上使用了flex这个类名,tailwind编译之后会生成flex的样式并将内容输出到output.css文件中:

// index.html
<div class="flex">hello world</div>
​
// 经过tailwind编译之后生成output.css
// output.css
.flex {
    display: flex;
}

此时就有这么一个问题在项目中我们提前写好全局样式,也可以起到一样的效果,那么使用Tailwind CSS的优势在哪里呢?

主要有两大优势

1.样式所占用的空间较小

其实我们在搭建tailwind的项目过程中就可以发现,tailwind存在于JIT引擎(Just-In-Time),就是在编译过程才去扫描我们的html文件,在这个过程中去识别使用了哪些类名,然后才生成对应的样式。

相比于预先直接全局写好大量的类名,JIT机制的优点在于精简紧凑,样式所占用的空间较小,因为用到了才会生成。

2.对于类名的规范统一

tailwind对于类名的规则约定,也可以说是一种写类名的规范与统一,统一团队内不同的成员甚至是不同的团队之间对于类名的书写与阅读。这给团队带来的效益,从长远来看利是远远大于弊的。

 取名困难,节点结构一多,取名真的是个难事。当然了,我们可以用一些规范或者选择器的方式去规避一些取名问题。

  1. 需要用 JS 控制样式的时候又得多写一个类,尤其交互多的场景。
  2. 组件复用大家都懂,但是样式复用少之又少,这样就造成了冗余代码变多。
  3. 全局污染,这个其实现在挺多工具都能帮我们自动解决了。
  4. 死代码问题。JS 我们通过 tree shaking 的方式去除用不到的代码减少文件体积,但是 CSS 该怎么去除?尤其当项目变大以后,无用 CSS 代码总会出现。
  5. 样式表的插入顺序影响了 CSS 到底是如何生效的。

标签:flex,tailwind,Tailwind,样式,CSS,类名
From: https://www.cnblogs.com/AllenPan/p/17443623.html

相关文章

  • css 动画3d旋转案例
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title><style>body{perspective:500px;}.box{posit......
  • css 动画 keyframes
    动画是CSS3中最具有颠覆性的特征之一,可通过设置多个节点来精确控制一个或一组动画,常用来实现复杂的动画效果.相比较过渡效果,动画可以实现更多变化,更多控制,连续播放等效果.动画的基本使用:步骤分为两步:1.定义动画2.调用动画一.定义动画(类似定义类选择器)@keyframesmov......
  • css rotate翻转图像案例
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title><style>.box{position:relative;width:300px;heig......
  • vue组件中修改组件外元素样式
    在实际开发中,由于项目一开始设计的一些不合理性,会在组件中通过html[media=pad]{.xxx{/*组件样式*/}}以上方式修改某些组件的样式,这样会涉及到从html层级选择,由于我style标签是这样写的<stylelang="less"scoped></style>所以导致组件内部无法......
  • Typora - typora主题样式
      主题名称:github_harley.css(随便命名)效果:Mac风格的代码块、更舒适的引用块风格。css查看代码/*代码块主题*//*顶部*/.md-fences{/*color:#c5c8c6;*/background-color:#21252b;border-radius:5px;/*box-shadow:010px30px0rgb(0......
  • 微信小程序 WXSS模板样式,全局和页面配置,网络请求
    【黑马程序员前端微信小程序开发教程,微信小程序从基础到发布全流程_企业级商城实战(含uni-app项目多端部署)】https://www.bilibili.com/video/BV1834y1676P/?p=26&share_source=copy_web&vd_source=03c1dc52eeb3747825ecad0412c18ab1WXSS模板样式1.什么是WXSSWXSS(WeiXin......
  • 前端开发如何更好的避免样式冲突?级联层(CSS@layer)
    作者:vivo互联网前端团队-ZhangJiqi本文主要讲述了CSS中的级联层(CSS@layer),讨论了级联以及级联层的创建、嵌套、排序和浏览器支持情况。级联层可以用于避免样式冲突,提高代码可读性和可维护性。一、什么是级联层(CascadeLayers)?1.1级联层的官方定义我们参看Cascadingand......
  • Vue3 ,html 修改滚动条样式
    /*滚动条*/body*::-webkit-scrollbar{width:5px;height:10px;}body*::-webkit-scrollbar-track{background:#fff;border-radius:2px;}body*::-webkit-scrollbar-thumb{background:rgb(205,206,206);border-radius:10px;}body*::-webk......
  • Wpf基础入门——模板和样式(Template&Style)
    本篇文章学习于:刘铁猛老师《深入浅出WPF》什么是模板?在WPF中,通过引入模板(Template)微软将数据和算法的“内容”与“形式”解耦了。WPF中的Template分为两大类:ControlTemplate是算法内容的表现形式,一个控件怎样组织其内部结构才能让它更符合业务逻辑、让用户操作起来更舒服就......
  • tailwindcss在使用cdn引入静态html的时候,使用vscode代码提示
    原文:Hey!TheIntellisenseextensiondoesneedaconfigfiletoworktoday.Iwouldsuggestcreatingoneinyourprojectroottoenabletheextension.Anemptyfilewillworkjustfineforthiscaseifthedefaultssuityourneeds.Ifyouwanttocustomiz......