使用Tailwind CSS的几个小Tips

news/2024/11/14 20:01:07/文章来源:https://www.cnblogs.com/xwwin/p/18546666

前情

Tailwind CSS 是一个原子类 CSS 框架,它将基础的 CSS 全部拆分为原子级别。它的工作原理是扫描所有 HTML 文件、JavaScript 文件以及任何模板中的 CSS 类名,然后生成相应的样式代码并写入到一个静态 CSS 文件中。Tailwind CSS 快速、灵活、可靠、没有运行时负担。自从接触了Tailwind CSS后,目前已经是我项目的标配了。

用了一段时间的Tailwind CSS,发现了一些使用注意Tips,知道这些小Tips可以让你使用Tailwind CSS更加顺利,同时对于新手减少入门的心智负担。

Tips内容

Tips 1:无所不能[]

Tailwind CSS虽然提供了很多优秀的基础样式如w-1、p-1、m-1…,但业务总是变化莫测,遇到基本样式无法满足的,我们就可以使用[]来自由定义符合自己需求的原子化样式名,我使用Tailwind CSS很少用到Tailwind CSS自带原子化样式名,特别尺寸颜色绝大部分都是通过[]来实现。

<div class="w-[100px] h-[100px] text-[blue] font-[700] m-[10px] p-[10px] top-[10px] rounded-[10px] z-[999] bg-[green] border-[1px] border-[yellow] border-dashed shadow-[0_0_5px_rgba(0,0,0,.3)] ">中
</div>

体验链接:https://play.tailwindcss.com/MXx3AnIu4t

Tips 2:样式优先级控制!

<div class="w-[100px] h-[100px] bg-[green]" style="background-color:red">red</div>
<div class="w-[100px] h-[100px] !bg-[green]" style="background-color:red">green</div>

因Tailwind CSS是原子化CSS框架,它的优先级是相对比较低的,当遇到和别的样式冲突时,可以通过样式加!来提高样式优先级,我有一篇博文专门介绍Tailwind CSS等级提升的: Tailwind CSS样式优先级控制前情 Tailwind CSS 是一个原子类 CSS 框架,它将基础的 CSS 全 - 掘金 Tailwind CSS样式优先级控制 - !win ! - 博客园

体验链接:https://play.tailwindcss.com/T1UaU5b4yJ

Tips 3:一些比较生僻的原子化样式


<!-- 字体加粗font-来做的,不是text- -->
<div class="font-bold">font-</div>
<!-- 行高用leading- -->
<div class="leading-[32px] bg-[red]">line-height</div>
<!-- 字间距用tracking- -->
<div class="tracking-[10px]">tracking</div>
<!-- 单行溢出省略号用truncate -->
<div class="truncate w-[108px]">我们是明天的太阳,祖国的花朵,其实是牛马</div>
<!-- 多行省略号用line-clamp- -->
<div class="line-clamp-2 w-[108px]">我们是明天的太阳,祖国的花朵,其实是牛马</div>

上面这些样式名是我经常想不起来要查文挡的,个人觉得是比较生僻的,可以特殊记一下,其它原子化样式,都是比较好记的如flex、border-、text-、relative…,都是有一定关联的

体验链接:https://play.tailwindcss.com/RFUAGYVKwY

Tips 4:一些使用上有一定技巧的原子化样式

<!-- 二色渐变 -->
<div class="h-[30px] bg-gradient-to-r from-cyan-500 to-blue-500"></div>
<!-- 三色渐变 -->
<div class="h-[30px] bg-gradient-to-r from-[green] from-10% via-[red] via-50% to-[yellow] to-90%"></div>
<!-- 鼠标hover,按下样式 -->
<div class="w-full h-[30px] bg-[red] hover:bg-[green] active:bg-[yellow]"></div>
<!-- 父级鼠标hover,按下,子孙元素样式 -->
<div class="w-full h-[60px] flex items-center group bg-[green]"><div class="w-full h-[30px] bg-[red] group-hover:bg-[green] group-active:bg-[blue]"></div>
</div>
<!-- 对于自定义背景图得用bg-[url()],背景尺寸的得需要使用bg-[length宽_高] -->
<div class="w-[100px] h-[100px] bg-[url('https://placehold.jp/999999/ff4400/300x300.png?text=EXAMPLE')] bg-[length:100px_100px]"></div>

目前还没有找到渐变怎么实现超过三个的,如果有小伙伴知道,欢迎留言分享,谢谢

体验地址:https://play.tailwindcss.com/zBfuWpeR7f

Tips 5:用好官方文挡和插件

我第一次知道Tailwind CSS是同事推荐的,在以前我有听过原子化CSS的概念,知道那要记很多样式,导致有一定的心理压力,所以一开始是排斥的,但直到自己使用后才发现,在使用Tailwind CSS的时候其实并没有特别大的心理压力。主要原因如下:

  1. 大部分样式都很容易联想到,如文本:text-、背景:bg-、边框:border-、margin:m-、padding:p-,都是很容易理解的,甚至跟原始样式就有一定关系的,稍微用一用就记住了,实在想不想在官方文挡搜索很快也能找到答案
  2. 用好官方的插件,你不需要记住太多,有一定印象输入首字母就会有对应的提示

VS Code插件地址:Tailwind CSS IntelliSense - Visual Studio Marketplace

HBuilderX插件地址:Tailwind CSS语言服务 - DCloud 插件市场。因为我写这篇文章的时候正在开发uni-app的项目,附上HBuilderX下的提示效果图

WebStorm默认就支持Tailwind CSS提示,无需安装插件

总结

使用Tailwind CSS的好处:

  • 不用再花费精力去取样式名了,都是原子化的样式,信手拈来
  • 项目CSS体积最小化,如以前用样式名,你相同样式会在不同地方书写,现在全部都是一个原子化CSS了
  • 提高UI还原效率,原始开发方法经常要在样式和html间切来切去,很浪费时间,现在基本可以做到不离开html就还原出UI

理想下才有完美的东西,什么东西都是有二面性的,使用Tailwind CSS目前遇到的问题:

  • 使用Tailwind CSS会导致冗长的样式名,目前我身边同事就很排斥,觉得没眼看
  • 元素定位的不是特别方便,调试样式的时候,我很难通过样式名很快定位到元素在代码中位置
  • 并不是原生支持,为了使用Tailwind CSS需要额外的配置

期望

上面只是个人在使用中发现的一些小Tips,如果你有好的Tips欢迎一起讨论,共同学习进步。

期待你的留言👀。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/833596.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

给朋友写的爬Steam游戏评论的爬虫

详见配图如果你需要的话,可以从这里下载(包括程序、说明和演示视频): https://pan.baidu.com/s/1lN-DNTB7pVXan94hCsqYUQ?pwd=72mg(本来想传蓝奏云的,但是蓝奏云不支持传图片和视频,而且单文件大小有限制,弄起来会比百度云盘还麻烦)

apisix~限流插件的使用

参考:https://i4t.com/19399.html https://github.com/apache/apisix/issues/9193 https://github.com/apache/apisix/issues/9830 https://apisix.apache.org/docs/apisix/plugins/limit-conn/ https://blog.frankel.ch/different-rate-limits-apisix/在 Apache APISIX 中,限…

项目冲刺11.14

这个作业属于哪个课程 计科22级34班这个作业要求在哪里 作业要求这个作业的目标 进行为期七天的项目冲刺并记录前言 本篇博客是项目冲刺的第六篇,七篇博客的汇总如下:博客汇总第一篇博客第二篇博客第三篇博客第四篇博客第五篇博客第六篇博客第七篇博客团队简介队名 拖延是你不…

研途无忧Alpha冲刺第二天

Alpha冲刺dya2 研途无忧-冲刺日志(第二天) 进度表成员 完成的任务 完成的任务时长 剩余时间马鑫 小研帮部分页面的前端设计、部分工作安排与调整、冲刺日志的撰写 4h 14h王强 小研帮部分页面的前端设计、小研帮数据库的完善、相关云函数的设计 4h 14h黄昕怡 研小fu性格的切换…

K-Means聚类分析以及误差平方和SSE(Python实现)

代码介绍 使用 make_blobs 函数生成一个二维的随机数据集,包含120个样本和3个中心。生成的数据将用于后续的聚类分析。 数据生成后,通过散点图可视化这些点,展示不同的聚类中心。 定义了一个函数 calculate_sse,用于计算给定聚类数 k 时的误差平方和(SSE)。该函数使用K-M…

数字孪生如何赋能智慧能源?揭秘技术背后的核心价值

随着能源行业不断向智能化、数字化转型,数字孪生技术在智慧能源项目中扮演的角色愈发重要。数字孪生不仅带来了前所未有的资源优化和成本节约方式,还为整个能源系统的可持续运营奠定了坚实基础。那么,为什么数字孪生技术在智慧能源项目中如此不可或缺?下面我就从可视化从业…

激活函数

一、正向传播和反向传播在模型训练过程中,是同时包含正向传播和反向传播的正向传播是模型根据输入数据和当前的参数(权重和偏置)计算预测输出的过程。例如,在一个图像分类神经网络模型中,输入是图像的像素数据,经过多个隐藏层的计算,最终在输出层得到预测的类别概率分布…

centOS7 docker 安装步骤

一、安装前检查工作: 1.检查/etc/yum.repos.d/CentOS-Base.repo文件是否存在,如果不存在,从网络仓库中复制一份新的 CentOS-Base.repo 文件。 sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 或者使用 wget: sudo wget -O /…

k8s 1.28.2 集群部署 docker registry 接入 MinIO 存储

目录docker registry 部署生成 htpasswd 文件生成 secret 文件生成 registry 配置文件创建 service创建 statefulset创建 ingress验证 docker registrydocker registry 监控docker registry uidocker registry dockerfile docker registry 配置文件 S3 storage driver registry…

[68] (炼石计划) NOIP 模拟赛 #20

学了一个挺帅的 MerMaid 所以用一下 flowchart TBA(邻间的骰子之舞)style A color:#ffffff,fill:#00c0c0,stroke:#ffffff 考虑每次复制以后一定会粘贴若干次(大于零,否则没有意义),因此将复制粘贴捆绑起来考虑,设复制后连续粘贴了 \(m\) 次,则代价为 \(x+my\),贡献为让编…

团队项目Scrum冲刺-day4

一、每天举行站立式会议 站立式会议照片一张昨天已完成的工作成员 任务陈国金 用户模块接口开发凌枫 整合MD编辑器陈卓恒 完成管理题目页面谭立业 完成题目搜索页面廖俊龙 接口测试曾平凡 前端页面测试曾俊涛 完成题目模块接口开发薛秋昊 完成题目提交模块接口开发今天计划完成…

【闲话】先觉

题图太大了,遂放到里面了能 窥探 到未来的 命运 又怎样? 不愿向 命运 屈服,自以为一次次地“战胜” 命运 后却不知一切都是 命运 早就 安排 好的。亦或是他即是 命运 的代理人。 不久后的 毁灭 已成为他的梦魇,面对好友的一个个离去他 无能为力 ,只好请求 那位大人 伸出援…