目次
✅2。CSSのダークモードスタイルを定義します
✅3。アプリにテーマスイッチャーをマウントします
✅4。オプション:システム優先と同期します
comeキー機能の概要
ホームページ ウェブフロントエンド Vue.js Vueでダークモードテーマスイッチャーを実装する方法

Vueでダークモードテーマスイッチャーを実装する方法

Aug 02, 2025 pm 12:15 PM
vue ダークモード

テーマのトグルコンポーネントを作成し、IsDarkModeの状態をチェックボックスでバインドし、Toggletheem関数を呼び出します。 2。オンマウントでテーマを初期化するために、ローカルストレージとシステム設定を確認します。 3.適用性のある関数を定義して、ダークモードクラスをHTML要素に適用してスタイルを切り替えます。 4. CSSカスタムプロパティを使用して、明るい変数と暗い変数を定義し、ダークモードクラスを介してデフォルトのスタイルをオーバーライドします。 5. Themeswitcherコンポーネントをメインアプリケーションテンプレートに紹介して、トグルボタンを表示します。 6.オプションで、システムのテーマを同期するために、カラーのシームの変更を好むことを聞きます。このソリューションは、VUE 3の構成API、CSSクラス、およびローカルストレージを使用して、持続的で応答性の高いテーマスイッチング機能を実現し、最終的には単純なHTML、CSS、およびJavaScriptを介して外部ライブラリなしで効率的なテーマ管理を完了します。

Vueでダークモードテーマスイッチャーを実装する方法

VUEでダークモードテーマスイッチャーを実装することは簡単で、リアクティブ状態、CSSクラス、およびオプションで永続的なストレージの組み合わせを使用して実行できます。以下は、VUE 3アプリケーション(構成API)でこれを達成するための段階的なガイドですが、コンセプトはVUE 2で同様に機能し、マイナーな構文が変更されます。

Vueでダークモードテーマスイッチャーを実装する方法

✅1。テーマのトグルコンポーネントを追加します

ユーザーが明るいモードとダークモードを切り替えることができるシンプルなトグルコンポーネント(例、 ThemeSwitcher.vue )を作成します。

 <! -  themeswitcher.vue->
<テンプレート>
  <div class = "theme-switcher">
    <ラベルclass = "switch">
      <入力型= "チェックボックス" @change = "toggletheme":checked = "isdarkmode" />
      <span class = "slider"> </span>
    </label>
    <span> {{isdarkmode? 「ダークモード」:「ライトモード」}} </span>
  </div>
</テンプレート>

<スクリプトのセットアップ>
&#39;vue&#39;から{ref、onmounted}をインポートします。

//それらのための反応状態
const isdarkmode = ref(false);

// LocalStorageからユーザーの好みを確認するか、カラーシェームを好みます
onmounted(()=> {
  const savedtheme = localstorage.getitem( &#39;テーマ&#39;);
  const prefersdark = window.matchmedia( &#39;(color-scheme:dark)&#39;)。マッチ;

  isdarkmode.value = savedtheme === &#39;dark&#39; || (savedtheme === null && prefersdark);
  applytheme(isdarkmode.value);
});

//テーマを切り替えて、設定を保存します
関数toggletheem(){
  isdarkmode.value =!isdarkmode.value;
  applytheme(isdarkmode.value);
  localStorage.setItem( &#39;thema&#39;、isdarkmode.value? &#39;dark&#39;: &#39;light&#39;);
}

// <html>要素にテーマクラスを適用します
機能applytheme(dark){
  document.documentlement.classlist.toggle( &#39;dark-mode&#39;、dark);
}
</script>

<スタイルスコープ>
.theme-switcher {
  ディスプレイ:Flex;
  Align-Items:Center;
  ギャップ:8px;
  フォントサイズ:14px;
}

/ *スイッチ - スライダーの周りのボックス */
.switch {
  位置:相対;
  ディスプレイ:インラインブロック。
  幅:50px;
  高さ:24px;
}

.switch input {
  不透明:0;
  幅:0;
  高さ:0;
}

/ *スライダー */
.Slider {
  位置:絶対;
  カーソル:ポインター;
  上:0;
  左:0;
  右:0;
  下:0;
  バックグラウンドカラー:#ccc;
  遷移:0.4s;
  ボーダーラジウス:24px;
}

.Slider:{前
  位置:絶対;
  コンテンツ: &#39;&#39;;
  高さ:18px;
  幅:18px;
  左:3px;
  下:3px;
  背景色:白。
  遷移:0.4s;
  ボーダーラジウス:50%;
}

入力:Checked .Slider {
  バックグラウンドカラー:#4C56AF;
}

入力:checked .slider:before {
  変換:transtex(26px);
}
</style>

✅2。CSSのダークモードスタイルを定義します

<html>要素の.dark-modeクラスを使用して、デフォルト(ライト)スタイルをオーバーライドします。

Vueでダークモードテーマスイッチャーを実装する方法
 / * main.cssまたはapp.vue styles */
:根 {
  -bg-color:#ffffff;
   - テキスト・カラー:#333333;
}

.dark-mode {
  -BG-COLOR:#121212;
  -TEXT-COLOR:#F5F5F5;
}

体 {
  バックグラウンドカラー:var( -  bg-color);
  色:var( - テキストカラー);
  遷移:背景色0.3秒の容易さ、0.3秒の容易さ。
}

これは、 dark-modeクラスのコンテキストを使用して、ボタン、カード、入力などに拡張できます。

 .card {
  背景:#f8f9fa;
  境界線:1pxソリッド#dee2e6;
}

.dark-mode .card {
  背景:#1E1E1E;
  境界線:#333;
  色:#f5f5f5;
}

✅3。アプリにテーマスイッチャーをマウントします

メインレイアウトまたはNavbarにThemeSwitcherコンポーネントを含めます。

Vueでダークモードテーマスイッチャーを実装する方法
 <! -  app.vueまたはlayout.vue->
<テンプレート>
  <div id = "app">
    <themeswitcher />
    <router-view />
  </div>
</テンプレート>

<スクリプトのセットアップ>
&#39;./components/themeswitcher.vue&#39;からthemeswitcherをインポートします。
</script>

✅4。オプション:システム優先と同期します

onMountedフックは既にprefers-color-scheme 、新しいユーザーがシステムに適したデフォルトを取得します。これによりUXが改善されます。

システムテーマの変更を聞くこともできます。

 //最初のセットアップ後、内側の内側
const mediaquery = window.matchmedia( &#39;(color-scheme:dark)&#39;);
MediaQuery.addeventlistener( &#39;change&#39;、(e)=> {
  if(localStorage.getItem( &#39;テーマ&#39;)=== null){
    isdarkmode.value = e.matches;
    applytheme(e.matches);
  }
});

これにより、テーマを手動で選択していないユーザーがシステムの変更に従うことが保証されます。


comeキー機能の概要

  • ??明るいテーマと暗いテーマの間で切り替えます
  • localStorageでユーザーの好みを節約します
  • ?§デフォルトでシステムの好みを尊重します
  • ? CSSカスタムプロパティを使用して、簡単にテーマにします
  • CSSを使用したスムーズな遷移

それでおしまい。これで、Vueで動作する、永続的なダークモードの切り替えができました。外部ライブラリは必要ありません - ビュー、小さなCSS、およびブラウザAPIのスマート使用。

基本的に、チェックボックスをオンにして、 のクラスを更新し、選択を保存します。シンプルだが効果的。

以上がVueでダークモードテーマスイッチャーを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Stock Market GPT

Stock Market GPT

AIを活用した投資調査により賢明な意思決定を実現

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHPを使用してQ&Aコミュニティプラットフォームの開発方法PHPインタラクティブコミュニティの収益化モデルの詳細な説明 PHPを使用してQ&Aコミュニティプラットフォームの開発方法PHPインタラクティブコミュニティの収益化モデルの詳細な説明 Jul 23, 2025 pm 07:21 PM

1. PHP開発の質問と回答コミュニティにおけるLaravel MySQL VUE/Reactの組み合わせの最初の選択は、生態系の成熟度と高開発効率のため、Laravel MySQL Vue/Reactの組み合わせの最初の選択肢です。 2。高性能では、キャッシュ(REDIS)、データベース最適化、CDN、非同期キューへの依存が必要です。 3.入力フィルタリング、CSRF保護、HTTPS、パスワード暗号化、許可制御を使用してセキュリティを行う必要があります。 4。オプションの広告、メンバーのサブスクリプション、報酬、委員会、知識の支払い、その他のモデル、コアはコミュニティトーンとユーザーのニーズに合わせることです。

Vue Futide Product Resources Webサイトへの無料入場。完全なVUE完成品は、オンラインで永久に表示されます Vue Futide Product Resources Webサイトへの無料入場。完全なVUE完成品は、オンラインで永久に表示されます Jul 23, 2025 pm 12:39 PM

この記事では、VUE開発者と学習者向けの一連のトップレベルの完成品リソースWebサイトを選択しました。これらのプラットフォームを通じて、大規模な高品質のVUE完全プロジェクトを無料でオンラインで閲覧、学習、再利用することさえできます。

PHP PHPインテリジェントフォームの設計と分析を備えたAIインテリジェントフォームシステムを開発する方法 PHP PHPインテリジェントフォームの設計と分析を備えたAIインテリジェントフォームシステムを開発する方法 Jul 25, 2025 pm 05:54 PM

適切なPHPフレームワークを選択する場合、プロジェクトのニーズに応じて包括的に検討する必要があります。Laravelは迅速な発展に適しており、データベースの操作と動的フォームレンダリングに便利なEloquentormおよびBladeテンプレートエンジンを提供します。 Symfonyは、より柔軟で複雑なシステムに適しています。 Codeigniterは軽量で、高性能要件を持つ簡単なアプリケーションに適しています。 2。AIモデルの精度を確保するには、高品質のデータトレーニング、評価インジケーター(精度、リコール、F1値など)の合理的な選択、定期的なパフォーマンス評価とモデルチューニング、およびユニットテストと統合テストを通じてコードの品質を確保しながら、入力データを継続的に監視してデータドリフトを防ぐ必要があります。 3.ユーザーのプライバシーを保護するためには多くの手段が必要です:機密データを暗号化および保存する(AESなど

PHPを使用してAIコンテンツ推奨システムPHPインテリジェントコンテンツ分布メカニズムを実装する方法 PHPを使用してAIコンテンツ推奨システムPHPインテリジェントコンテンツ分布メカニズムを実装する方法 Jul 23, 2025 pm 06:12 PM

1。PHPは、主にデータ収集、API通信、ビジネスルール処理、キャッシュの最適化、および複雑なモデルトレーニングを直接実行するのではなく、AIコンテンツ推奨システムでの推奨表示を引き受けます。 2.システムは、PHPを介してユーザーの動作とコンテンツデータを収集し、バックエンドAIサービス(Pythonモデルなど)を呼び出して推奨結果を得て、Redisキャッシュを使用してパフォーマンスを改善します。 3.共同フィルタリングやコンテンツの類似性などの基本的な推奨アルゴリズムは、PHPに軽量ロジックを実装できますが、大規模なコンピューティングは依然としてプロのAIサービスに依存します。 4.最適化は、リアルタイム、コールドスタート、多様性、フィードバッククローズドループに注意を払う必要があり、課題には高い並行性パフォーマンス、モデルの更新安定性、データコンプライアンス、推奨解釈が含まれます。 PHPは、安定した情報、データベース、フロントエンドを構築するために協力する必要があります。

Vue無料完成品リソース入りVUE無料完成品Webサイトナビゲーション Vue無料完成品リソース入りVUE無料完成品Webサイトナビゲーション Jul 23, 2025 pm 12:42 PM

VUE開発者にとって、高品質の完成プロジェクトまたはテンプレートは、新しいプロジェクトを迅速に開始し、ベストプラクティスを学ぶための強力なツールです。この記事では、バックエンド管理システム、UIコンポーネントライブラリ、または特定のビジネスシナリオのテンプレートであろうと、効率的に必要なフロントエンドソリューションを見つけるのに役立つ複数のトップVUE無料完成品リソースポータルとWebサイトナビゲーションを選択して、簡単に入手できます。

PHPを使用してeコマースバックエンド収益化PHP eコマースシステムアーキテクチャと利益戦略を開発する方法 PHPを使用してeコマースバックエンド収益化PHP eコマースシステムアーキテクチャと利益戦略を開発する方法 Jul 25, 2025 pm 06:33 PM

1. PHP Eコマースバックエンドの主流のフレームワークには、Laravel(高速開発、強力な生態学)、Symfony(エンタープライズレベル、安定した構造)、YII(優れたパフォーマンス、標準化されたモジュールに適しています)が含まれます。 2。テクノロジースタックには、MySQL Redisキャッシュ、RabbitMQ/Kafkaメッセージキュー、NGINX PHP-FPM、およびフロントエンド分離を装備する必要があります。 3.高並行性アーキテクチャを階層化し、モジュラー、データベースの読み取りおよび書き込み分離/分散データベース、キャッシュとCDNで加速し、タスクの非同期処理、ロードバランスとセッションの共有、徐々にマイクロサービス、および監視とアラームシステムの確立を行う必要があります。 4.複数の収益化パスには、製品価格の差額またはプラットフォームコミッション、サイト広告、SaaSサブスクリプション、カスタマイズされた開発およびプラグインマーケット、API接続が含まれます

CSSでダークモードテーマを実装する方法 CSSでダークモードテーマを実装する方法 Aug 22, 2025 am 09:55 AM

ダークモードを実装する主な方法は2つあります。1つは、システムの好みを適応させるために自動的に照会するためにカラーシェームメディアを好むことを使用することです。もう1つはJavaScriptを介して手動スイッチング機能を追加することです。 1.ユーザーシステムに応じて暗いテーマを自動的に適用するには、カラーシェームを好みます。 JavaScriptは必要ありません。メディアクエリのスタイルを定義するだけです。 2。手動の切り替えを実現するには、ライトテーマとダークテーマのクラスを定義し、トグルボタンを追加し、JavaScriptを使用してテーマステータスとローカルストレージを管理してユーザーの好みを保存する必要があります。 3.両方を組み合わせて、ページが読み込まれたときに最初にLocalstを読むことができます。

PHPは顧客管理システムの収益化PHPCRMシステムの設計とアプリケーションを作成します PHPは顧客管理システムの収益化PHPCRMシステムの設計とアプリケーションを作成します Jul 25, 2025 pm 06:03 PM

実用的かつ収益化可能なPHPCRMシステムを設計すると、まず、顧客管理、販売追跡、自動化プロセスなどのコア機能を含むMVPを作成し、その後の付加価値機能拡張をサポートするためのモジュラーアーキテクチャ(Laravelなど)を採用する必要があります。 2.ユーザーが継続的に支払う意思があるように、直感的なUX設計(Vue.jsフロントエンドなど)を使用して使用のしきい値を下げます。 3.データ分析レポート(販売ファンネル、パフォーマンス分析など)を使用して、顧客が意思決定の効率を向上させ、無料の基本機能と高度なレポートを改善して収益化を達成するのに役立ちます。 4.マルチテナントアーキテクチャを実装して、データの分離を確保し、SAASモデルの基礎を築き、商業化に影響を与える後の再構成を回避します。 5.収益化は、サブスクリプション料金に依存するだけでなく、APIのオープン性、カスタマイズされた開発、技術サポート、プラグイン市場の多様化市場を通じてもメリットがあります

See all articles