在 React/Nextjs 中添加深色和浅色主题支持

在 react/nextjs 中添加深色和浅色主题支持

在 react/next.js 中添加深色和浅色主题支持

概述

在本指南中,我们将引导您完成向 react 或 next.js 应用程序添加深色和浅色主题支持的步骤。这种方法将允许用户在主题之间切换,并且 ui 将相应更新。

先决条件

react 或 next.js 的基础知识。已设置 react 或 next.js 项目。

实施深色和浅色主题的步骤

1.创建主题切换组件

接下来,创建一个允许用户在主题之间切换的组件。该组件将包括一个用于切换主题状态的按钮和一个允许用户选择他们喜欢的主题的菜单。

import react, { usestate } from 'react';import { famoon, fasun } from 'react-icons/fa';function themetoggle({ theme, handlethemechange }) {  const [menuopen, setmenuopen] = usestate(false);  const togglemenu = () => {    setmenuopen(!menuopen);  };  return (    
  • {menuopen && (

    toggle dark mode

    • handlethemechange('dark')} classname={theme === 'dark' ? 'active' : ''} > dark mode
    • handlethemechange('light')} classname={theme === 'light' ? 'active' : ''} > light mode
    )}
  • );}export default themetoggle;

    2. 定义特定于主题的 css 变量

    在 index.css 或 app.css 文件中为深色和浅色主题定义 css 变量。这些变量将根据活动主题控制整个应用程序的样式。

    /* Default Theme Variables */:root {  --white-color: #ffff;  --background-color: black;  --text-color: #ffff;  --games-text: #452c88;  --games-text-2: #60882c;  --game-bg-card: #252331;  --card-wrapper-color: #252331;  --custom-input-bg: #14131b;  --siderbar-bg: #1a1923;  --profile-badge-color: #252364;  --card-header-bg: #032b53;  --theme-color: #df1b47;  --table-row-bg-color: #1e1d29;  --table-row-header-color: #252364;  --button-bg-color: #252364;  --dark-light-bg-color: #353940;}/* Dark Theme */body.dark-mode {  --white-color: #ffff;  --background-color: black;  --text-color: #ffff;  --game-bg-card: #252331;  --card-wrapper-color: #252331;  --custom-input-bg: #14131b;  --siderbar-bg: #1a1923;  --profile-badge-color: #252364;  --card-header-bg: #032b53;  --table-row-bg-color: #1e1d29;  --table-row-header-color: #252364;  --button-bg-color: #252364;  --dark-light-bg-color: #353940;}/* Light Theme */body.light-mode {  --white-color: #ffff;  --background-color: rgb(253, 251, 251);  --text-color: #0f0e0ecc;  --game-bg-card: #eae8eb;  --custom-input-bg: #e0e0e0;  --card-wrapper-color: #e1e0e6;  --custom-input-bg: #e6e6e6;  --siderbar-bg: #e5e5e5;  --profile-badge-color: #e64b4b;  --card-header-bg: #a6cbf0;  --table-row-bg-color: #ffffff;  --table-row-header-color: #f2f4f6;  --button-bg-color: #df1b47;  --dark-light-bg-color: #c5c1c1;}

    以上就是在 React/Nextjs 中添加深色和浅色主题支持的详细内容,更多请关注创想鸟其它相关文章!

    版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
    如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
    发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1629751.html

    赞 (0)
    打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
    使用 React 构建 BMI 计算器
    上一篇 2025年12月24日 12:45:02
    建立一个登录表单网站
    下一篇 2025年12月24日 12:45:10

    相关推荐

    发表回复

    登录后才能评论
    关注微信