HoRain云--TailwindCSS深色模式终极指南
HoRain云小助手个人主页 个人专栏: 《Linux 系列教程》《c语言教程》⛺️生活的理想就是为了理想的生活!⛳️ 推荐前些天发现了一个超棒的服务器购买网站性价比超高大内存超划算忍不住分享一下给大家。点击跳转到网站。专栏介绍专栏名称专栏介绍《C语言》本专栏主要撰写C干货内容和编程技巧让大家从底层了解C把更多的知识由抽象到简单通俗易懂。《网络协议》本专栏主要是注重从底层来给大家一步步剖析网络协议的奥秘一起解密网络协议在运行中协议的基本运行机制《docker容器精解篇》全面深入解析 docker 容器从基础到进阶涵盖原理、操作、实践案例助您精通 docker。《linux系列》本专栏主要撰写Linux干货内容从基础到进阶知识由抽象到简单通俗易懂帮你从新手小白到扫地僧。《python 系列》本专栏着重撰写Python相关的干货内容与编程技巧助力大家从底层去认识Python将更多复杂的知识由抽象转化为简单易懂的内容。《试题库》本专栏主要是发布一些考试和练习题库涵盖软考、HCIE、HRCE、CCNA等目录⛳️ 推荐专栏介绍 两种核心模式️ 配置与基础使用 实现手动切换Class 模式 实用技巧与最佳实践Tailwind CSS 为实现深色模式提供了一套非常优雅的解决方案让你可以轻松地为网站打造明暗两种主题。下面我将为你梳理其核心概念、配置方法和实用技巧。 两种核心模式Tailwind CSS 提供了两种启用深色模式的策略你可以根据项目需求选择其一 media模式跟随系统在此模式下Tailwind 将直接使用 CSS 媒体查询media (prefers-color-scheme: dark)。你的网站主题会自动与用户操作系统的深色模式设置同步 。配置非常简单只需在tailwind.config.js文件中进行设置// tailwind.config.js module.exports { darkMode: media, // ... 其他配置 }class模式手动控制这是更灵活、更推荐的方式。此模式下深色样式的生效取决于在 HTML 的根元素通常是html标签上是否存在dark类 。这允许你为用户提供手动切换主题的开关。// tailwind.config.js module.exports { darkMode: class, // ... 其他配置 }️ 配置与基础使用启用深色模式如上所述首先在配置文件中设置darkMode选项。请注意为了保持生成CSS文件的大小可控深色模式变体默认是关闭的所以这一步是必须的 。使用dark:前缀配置完成后你就可以在 HTML 模板中使用dark:前缀来定义元素在深色模式下的样式了 。div classbg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 h1 classtext-2xl font-bold优雅的主题切换/h1 p classtext-gray-600 dark:text-gray-400这段文字在深色模式下会变浅。/p /div 实现手动切换Class 模式如果选择了class模式你需要用 JavaScript 动态控制dark类的添加和移除。基础切换逻辑核心是通过 JS 操作 DOM切换html标签上的类。// 最简单的切换函数 function toggleDarkMode() { document.documentElement.classList.toggle(dark); }持久化用户偏好为了提升用户体验通常会将用户的选择保存到localStorage中并在页面加载时读取设置 。// 页面加载时根据本地存储或系统偏好设置主题 if (localStorage.theme dark || (!(theme in localStorage) window.matchMedia((prefers-color-scheme: dark)).matches)) { document.documentElement.classList.add(dark); } else { document.documentElement.classList.remove(dark); } // 当用户手动切换时 function toggleDarkMode() { const isDark document.documentElement.classList.toggle(dark); localStorage.setItem(theme, isDark ? dark : light); }响应系统主题变化你还可以监听系统主题的变化并在用户没有明确选择时自动跟随 。window.matchMedia((prefers-color-scheme: dark)).addEventListener(change, e { if (!(theme in localStorage)) { // 仅在用户未手动设置时跟随 if (e.matches) { document.documentElement.classList.add(dark); } else { document.documentElement.classList.remove(dark); } } }); 实用技巧与最佳实践组合使用变体dark:前缀可以与响应式断点和状态变体如hover:结合使用。关键是要注意顺序响应式断点在最前其次是dark:最后是状态变体​ 。button classlg:dark:hover:bg-white ...按钮/button处理图片和图标可以为浅色和深色模式准备不同的图片或图标资源 。!-- 使用 picture 元素 -- picture source srcsetdark-image.jpg media(prefers-color-scheme: dark) img srclight-image.jpg alt示例图片 /picture !-- 或使用 CSS 类控制显示隐藏 -- img srclogo-light.svg classdark:hidden alt浅色Logo img srclogo-dark.svg classhidden dark:block alt深色Logo避免页面闪烁如果 JS 脚本在页面渲染后执行可能会出现短暂的主题闪烁。解决方法是将初始化主题的脚本内联在 HTML 的head标签最顶部​ 。head script // 在HTML解析前立即初始化主题 if (localStorage.theme dark || (!(theme in localStorage) window.matchMedia((prefers-color-scheme: dark)).matches)) { document.documentElement.classList.add(dark); } else { document.documentElement.classList.remove(dark); } /script /head设计一致性在设计深色模式时并非简单地将黑色背景与白色文字互换。建议使用深灰色如gray-800,gray-900作为背景浅灰色如gray-300,gray-200作为文字这样视觉上会更舒适 。同时确保颜色对比度符合可访问性标准。希望这份指南能帮助你顺利地在项目中实现强大的深色模式功能如果你在具体实现中遇到任何细节问题例如如何与特定框架如 React、Vue集成我很乐意提供进一步的帮助。❤️❤️❤️本人水平有限如有纰漏欢迎各位大佬评论批评指正如果觉得这篇文对你有帮助的话也请给个点赞、收藏下吧非常感谢! Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧

相关新闻

一个模型千万个灵魂!Anthropic找到了防止AI陷入疯狂的防线

一个模型千万个灵魂!Anthropic找到了防止AI陷入疯狂的防线

Anthropic和牛津大学的最新研究发现,助手只是大模型在广阔人格空间中扮演的一个特定角色,而这个角色极其容易在长对话中发生漂移甚至崩塌。 细心的朋友应该注意到,大多数大模型的系统提示词都是:你是一个有用的助手(Y…

2026/7/3 9:52:53 阅读更多 →
SEW变频器MC07A110-5A3-4-00 08272565

SEW变频器MC07A110-5A3-4-00 08272565

SEW变频器MC07A110-5A3-4-00 08272565 技术详解一、产品概述SEW Eurodrive的MC07A110-5A3-4-00(序列号08272565)属于Movimot系列智能变频器,专为工业自动化领域的电机调速控制设计。该型号采用模块化结构,集成了变频驱动与制动控制…

2026/7/3 15:35:45 阅读更多 →
YOLO26优化: 引入了一种新颖的大核局部-全局-局部(LGL)模块,有效平衡图像信息低与高层语义差异大的问题 | ACM MM‘25

YOLO26优化: 引入了一种新颖的大核局部-全局-局部(LGL)模块,有效平衡图像信息低与高层语义差异大的问题 | ACM MM‘25

💡💡💡为了实现高效的局部-全局信息交换,有效平衡图像信息低与高层语义差异大的问题, 引入了一种新颖的大核局部-全局-局部(LGL)模块。 💡💡💡如何与YOLO26结合:C3k2与LGL结合; 《YOLO26魔术师专栏》将从以下各个方向进行创新: 链接:

2026/7/3 15:35:46 阅读更多 →

最新新闻

GPT-4o与GPT-4本质差异:多模态对齐与端到端延迟的工程选型指南

GPT-4o与GPT-4本质差异:多模态对齐与端到端延迟的工程选型指南

1. 这不是参数表对比,而是真实场景下的能力分水岭“GPT-4o和GPT-4有什么区别?”——这个问题我每天在技术群、产品会、客户咨询里至少看到17次。但绝大多数人点开的所谓“对比文章”,只是把OpenAI官网那张模糊的性能雷达图截图下来&#xff0…

2026/7/5 9:57:02 阅读更多 →
Unity游戏汉化神器:XUnity Auto Translator 5分钟快速入门指南

Unity游戏汉化神器:XUnity Auto Translator 5分钟快速入门指南

Unity游戏汉化神器:XUnity Auto Translator 5分钟快速入门指南 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 你是否曾因语言障碍而错失精彩的Unity游戏体验?面对日语、英语或其他…

2026/7/5 9:57:02 阅读更多 →
Seraphine:英雄联盟智能助手完整指南,轻松提升你的游戏体验

Seraphine:英雄联盟智能助手完整指南,轻松提升你的游戏体验

Seraphine:英雄联盟智能助手完整指南,轻松提升你的游戏体验 【免费下载链接】Seraphine 英雄联盟战绩查询工具 项目地址: https://gitcode.com/gh_mirrors/se/Seraphine 你是否曾经在英雄联盟排位赛中因为错过接受对局而懊恼不已?是否…

2026/7/5 9:55:02 阅读更多 →
Grok模型在中国大陆可用吗?合规大模型接入指南

Grok模型在中国大陆可用吗?合规大模型接入指南

我不能提供与Grok或SuperGrok相关的注册、订阅或升级教程。 原因如下: Grok系列模型(Grok-1、Grok-2、Grok-3等)由埃隆马斯克旗下公司xAI开发, 未向中国大陆地区开放公开注册、API接入或用户订阅服务 。截至目前(2…

2026/7/5 9:55:02 阅读更多 →
从LLM到AI Agent:OpenAI合并ChatGPT与Codex的技术解析与实战指南

从LLM到AI Agent:OpenAI合并ChatGPT与Codex的技术解析与实战指南

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 如果你还在把 ChatGPT 当作一个“更聪明的聊天机器人”,那么你可能已经落后了。最近,OpenAI 内部的一则重磅消…

2026/7/5 9:53:02 阅读更多 →
MATLAB多缝光栅衍射仿真工具:实时调节参数看光强分布变化

MATLAB多缝光栅衍射仿真工具:实时调节参数看光强分布变化

本文还有配套的精品资源,点击获取 简介:用MATLAB直接跑起来就能看多缝光栅在远场条件下的衍射效果,支持缝数、缝宽、缝间距、入射光波长四个关键参数自由调整,每次改动后图像立刻刷新——光强曲线图和二维衍射图样同步更新。主…

2026/7/5 9:53:02 阅读更多 →

日新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻