在 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 中添加深色和浅色主题支持的详细内容,更多请关注【创想鸟】其它相关文章!

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

    发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2854021.html

    (0)
    上一篇 2025年3月10日 14:45:24
    下一篇 2025年3月10日 14:45:33

    AD推荐 黄金广告位招租... 更多推荐

    相关推荐

    • 建立一个登录表单网站

      介绍 开发者们大家好!我很高兴分享我的最新项目:登录表单。该项目非常适合那些希望构建一个干净且功能齐全的登录界面的人,用户可以使用该界面来验证自己的身份。这是使用 html、css 和 javascript 增强前端开发技能的好方法,同时创…

      2025年3月10日
      000
    • 使用 React 构建 BMI 计算器

      使用 react 构建 bmi 计算器 介绍 体重指数(bmi)是一种广泛使用的指标,用于确定一个人在给定身高下是否拥有健康体重。在本博客中,我们将逐步介绍如何使用 react 创建一个简单但实​​用的 bmi 计算器。这个项目允许用户输入…

      2025年3月10日
      200
    • CSS 中的版式和字体样式

      讲座 4:css 中的版式和字体样式 在本次讲座中,我们将探讨如何使用 css 设置文本样式。版式是网页设计的一个重要方面,影响可读性、用户体验和整体美观。在本讲座结束时,您将了解如何在网站上应用各种字体样式并控制文本外观。 了解网页字体 …

      2025年3月10日
      200
    • 使用 API 和 JSON 的 Shopify Liquid REPL

      我非常兴奋 ? 分享我的新网站 Shopify Liquid REPL。 我最近看到 Taylor Page 关于 Shopify REPL (Read-Eval-Print-Loop) 的帖子,这促使我查看了该网站。检查网站的输出后,我创…

      2025年3月10日
      200
    • 使用 Tailwind CSS 创建流星边框动画

      在这篇博文中,我们将使用 tailwind css 创建一个迷人的“流星”边框动画。此效果为输入字段提供发光的动画边框,可以吸引用户的注意力 – 非常适合电子邮件注册或重要通知等号召性用语部分。 演示 在深入研究代码之前,您可以…

      2025年3月10日
      200
    • HTML、CSS 和 JavaScript 项目

      欢迎来到我的 html、css 和 javascript 项目集合!这篇博文全面概述了我创建的各种项目,展示了 web 开发的不同方面。每个项目都可以在自己的存储库中找到,其中包含您需要探索和学习的所有代码。 目录 简介项目概况开始使用贡献…

      2025年3月10日
      200
    • Riva – Tailwind CSS 仪表板模板生成器

      大家好! 我想向您介绍 Riva Dashboard,这是一个用于 Tailwind CSS 的拖放式仪表板模板生成器,旨在帮助开发人员加快开发过程。 Riva 构建于 Tailwind CSS 之上,具有以下功能,包含 72 多个组件(更…

      2025年3月10日
      200
    • 介绍我的新 Bootstrap olor 调色板生成工具

      嘿,开发者社区! ? 我很高兴分享我一直在开发的一个新工具,它将使您的网页设计过程更加顺畅和更加个性化。如果您发现自己想要更多地控制网站的配色方案,那么这个工具适合您! ? 它有什么作用? 这个 Bootstrap 5 调色板生成器工具可让…

      2025年3月10日
      200
    • 带有媒体查询的响应式网页设计

      第 6 讲:带有媒体查询的响应式网页设计 在本次讲座中,我们将深入探讨响应式网页设计,这是创建在从台式机到智能手机的所有设备上看起来都很棒的网站的关键技能。响应式设计的关键是使用媒体查询,它允许您根据屏幕尺寸或设备特性应用不同的样式。 了解…

      2025年3月10日
      200
    • 如何将 CSS 样式添加到 HTML 页面:初学者指南

      简介想象一下您在厨房里,准备准备一道菜。主要成分 (html) 摆在您面前:肉、蔬菜、香料。但要将这些食材转化为烹饪杰作,您需要烹饪技术、调味料和摆盘——这就是 css(层叠样式表)发挥作用的地方。 css 就像网络的“调味艺术”:没有它,…

      2025年3月10日
      200

    发表回复

    登录后才能评论