news 2026/4/6 13:14:38

HoRain云--5种方法高效重用TailwindCSS样式

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
HoRain云--5种方法高效重用TailwindCSS样式

🎬 HoRain云小助手:个人主页

🔥 个人专栏: 《Linux 系列教程》《c语言教程》

⛺️生活的理想,就是为了理想的生活!


⛳️ 推荐

前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。

专栏介绍

专栏名称

专栏介绍

《C语言》

本专栏主要撰写C干货内容和编程技巧,让大家从底层了解C,把更多的知识由抽象到简单通俗易懂。

《网络协议》

本专栏主要是注重从底层来给大家一步步剖析网络协议的奥秘,一起解密网络协议在运行中协议的基本运行机制!

《docker容器精解篇》

全面深入解析 docker 容器,从基础到进阶,涵盖原理、操作、实践案例,助您精通 docker。

《linux系列》

本专栏主要撰写Linux干货内容,从基础到进阶,知识由抽象到简单通俗易懂,帮你从新手小白到扫地僧。

《python 系列》

本专栏着重撰写Python相关的干货内容与编程技巧,助力大家从底层去认识Python,将更多复杂的知识由抽象转化为简单易懂的内容。

《试题库》

本专栏主要是发布一些考试和练习题库(涵盖软考、HCIE、HRCE、CCNA等)

目录

⛳️ 推荐

专栏介绍

Tailwind CSS 重用样式的方法

1. 使用 @apply 指令创建自定义类

2. 利用 @layer 和 @apply 定义更复杂的样式

3. 使用 variants 功能创建响应式样式

4. 使用 JavaScript 配置文件

5. 创建 Tailwind 插件

编译 Tailwind CSS


Tailwind CSS 重用样式的方法

在使用 Tailwind CSS 时,当多个元素需要相同的工具类组合时,会导致代码冗长且维护困难。例如:

<div class="flex space-x-4"> <img class="w-16 h-16 rounded-full border-2 border-white" src="/img/avatar1.jpg" alt="User 1"> <img class="w-16 h-16 rounded-full border-2 border-white" src="/img/avatar2.jpg" alt="User 2"> <!-- 重复的类名... --> </div>

如果需要调整这些样式(如改变边框颜色或圆角大小),则需要手动修改每个类,导致维护困难。以下是几种解决重复样式的方案:

1. 使用 @apply 指令创建自定义类

在 CSS 文件中将一组常用的工具类组合成一个自定义类:

@tailwind base; @tailwind components; @tailwind utilities; /* 在你的 CSS 文件中 */ .avatar { @apply w-16 h-16 rounded-full border-2 border-white; }

然后在 HTML 中只需使用这个自定义类:

<div class="flex space-x-4"> <img class="avatar" src="/img/avatar1.jpg" alt="User 1"> <img class="avatar" src="/img/avatar2.jpg" alt="User 2"> <!-- 简洁的代码... --> </div>

2. 利用 @layer 和 @apply 定义更复杂的样式

使用 @layer 来组织自定义样式,并通过 @apply 组合它们:

@tailwind base; @tailwind components; @tailwind utilities; @layer components { .avatar { @apply w-16 h-16 rounded-full border-2 border-white shadow-md; } .button { @apply px-4 py-2 bg-blue-500 text-white rounded-lg; } .card { background-color: theme('colors.white'); border-radius: theme('borderRadius.lg'); padding: theme('spacing.6'); box-shadow: theme('boxShadow.xl'); } }

3. 使用 variants 功能创建响应式样式

通过 variants 扩展工具类,使样式可以根据状态或设备尺寸变化:

@layer components { .avatar { @apply w-16 h-16 rounded-full border-2 border-white; } /* 响应式变化:在较大的屏幕上使用更大的头像 */ @media (min-width: 768px) { .avatar { @apply w-24 h-24; } } .btn-primary { @apply py-2 px-4 bg-blue-500 text-white font-semibold rounded-lg shadow-md; &:hover { @apply bg-blue-700; } &:focus { @apply outline-none ring-2 ring-blue-400 ring-opacity-75; } } }

4. 使用 JavaScript 配置文件

在 tailwind.config.js 中添加自定义样式:

module.exports = { theme: { extend: { // 添加自定义颜色 colors: { 'custom-blue': '#1DA1F2', }, // 添加自定义字体大小 fontSize: { 'xxs': '.625rem', }, }, }, }

5. 创建 Tailwind 插件

对于更复杂的样式,可以创建 Tailwind 插件:

const plugin = require('tailwindcss/plugin') module.exports = { plugins: [ plugin(function({ addComponents }) { const buttons = { '.btn': { padding: '.5rem 1rem', borderRadius: '.25rem', fontWeight: '600', }, '.btn-blue': { backgroundColor: '#3490dc', color: '#fff', '&:hover': { backgroundColor: '#2779bd' } }, } addComponents(buttons) }) ] }

编译 Tailwind CSS

使用 Tailwind CLI 或 PostCSS 进行编译:

npx tailwindcss -i ./styles.css -o ./output.css --watch

编译后生成的 output.css 文件会将 @apply 替换为具体的 CSS 样式。

通过这些方法,你可以轻松创建可复用的样式,减少代码重复,提高开发效率和可维护性,同时保持与 Tailwind CSS 框架的一致性。

❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/6 6:02:41

【收藏】上下文工程:决定AI应用质量的75%关键因素,提示词仅占10%

上下文工程决定AI应用质量的75%&#xff0c;远超模型选择(15%)和提示词设计(10%)。它包含六大核心组件&#xff1a;提示词技术、查询增强、长期/短期记忆管理、知识库检索和工具智能体。真正的"魔法"在于整个信息流水线&#xff1a;上下文来源、检索筛选格式化、工具…

作者头像 李华
网站建设 2026/4/5 12:28:33

2026年软件测试公众号热度全景:专业洞察与行动指南

软件测试公众号在2026年已成为从业者获取行业动态的核心渠道&#xff0c;热度内容集中于解决实际痛点&#xff08;如效率瓶颈、安全风险&#xff09;&#xff0c;并以专业深度驱动流量增长。本文基于最新数据&#xff0c;解析三大爆款内容类型&#xff0c;并以“手动验证”为案…

作者头像 李华
网站建设 2026/4/5 14:13:48

好写作AI:论文政策建议不再“假大空”,AI教你写出一针见血的方案!

当你的政策建议部分写得像政府工作报告摘抄&#xff0c;连自己看了都想点“下一页跳过”时——是时候请AI这位“策略军师”出山了。 张明对着论文最后一章“政策建议”发了半小时呆&#xff0c;写出来的句子仿佛是从十年前教科书里穿越来的&#xff1a;“应加强监管…需完善体系…

作者头像 李华
网站建设 2026/4/1 17:13:31

SGMICRO圣邦微 SGM2205-3.3XKC3G/TR SOT-223-3 线性稳压器(LDO)

特性宽工作输入电压范围&#xff1a;2.5V至20V固定输出电压&#xff1a;1.8V、2.5V、3.0V、3.3V、3.6V、4.2V、5.0V和12V可调输出电压范围&#xff1a;1.8V至15V输出电压精度&#xff1a;25C时为1%低压差&#xff1a;800mA时典型值为450mV电流限制和热保护出色的负载和线性瞬态…

作者头像 李华
网站建设 2026/3/31 19:31:50

Infineon英飞凌 IR2085STRPBF SOIC-8 栅极驱动芯片

特性简单的初级侧控制解决方案&#xff0c;可用于48V分布式系统的半桥直流母线转换器&#xff0c;减少元件数量和电路板空间集成50%占空比振荡器和半桥驱动IC于单个SO - 8封装中可编程开关频率&#xff0c;每通道最高可达500kHz具备/- 1A驱动电流能力&#xff0c;针对低电荷MOS…

作者头像 李华