国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

ホームページ ウェブフロントエンド CSSチュートリアル Bear Blog のライト/ダーク モードのステップバイステップ ガイド

Bear Blog のライト/ダーク モードのステップバイステップ ガイド

Oct 28, 2024 pm 10:29 PM

Step-by-Step Guide to Light/Dark Mode on Bear Blog

私は最近、prefers-color-scheme メディア機(jī)能と light-dark() color 関數(shù)を組み合わせて、Bear ブログにライト/ダーク モードの切り替えを?qū)g裝しました。

これが私がやった方法です。

ステップ 1: CSS のセットアップ

CSS は、light-dark() color 関數(shù)など、過(guò)去數(shù)年間でいくつかの優(yōu)れた新機(jī)能を追加しました。この関數(shù)を使用すると、任意の要素に 2 つの色 (ライト モード用とダーク モード用) を指定できます。

たとえば、ライト モードでは背景を白、ダーク モードでは黒にしたい場(chǎng)合は、次のように設(shè)定します。

body {
  background-color: light-dark(#fff, #000);
}

このアプローチを、明るいモードと暗いモードで異なる色のニーズを持つすべての要素に適用しました。

ステップ 2: HTML を追加する

テーマの切り替えには、スイッチ、ラジオ ボタン、ドロップダウン メニューではなく、単一のアイコンを使用しました。ページは、反対のモードに切り替えるためのアイコンのみが表示された狀態(tài)で読み込まれます。デフォルトのテーマがダークであるため、ダークモードのアイコンは最初は非表示で、ライトモードに切り替えるアイコンが表示されます。

onclick イベントは switchMode() 関數(shù)を呼び出します。この関數(shù)は、明るいテーマと暗いテーマの切り替えを処理します (詳細(xì)は後ほど)。 HTML の設(shè)定は次のとおりです:

<a id="preferdark" onclick="switchMode('dark')" style="display: none;">
  <!-- Icon for switching to dark mode. -->
</a>
<a id="preferlight" onclick="switchMode('light')">
  <!-- Icon for switching to light mode. -->
</a>

ステップ 3: JavaScript の作成

JavaScript は 2 つの主要なタスクを処理します:

  1. ユーザーがアイコンをクリックすると、ライト モードとダーク モードが切り替わります。
  2. ユーザーのテーマ設(shè)定を localStorage に保存し、今後のアクセス時(shí)に自動(dòng)的にロードします。

JavaScript は 2 つの部分に分割されています。 のコードです。ページの読み込み時(shí)にテーマを設(shè)定し、

にコードを追加します。ページが完全に読み込まれた後に要素を更新します。

にコードを追加するには<フッター> Bear で、設(shè)定 > に移動(dòng)します。ヘッダーとフッターのディレクティブ.

JavaScript コード

このコードは、以前に保存したテーマをローカル ストレージから取得します (利用可能な場(chǎng)合)。それ以外の場(chǎng)合は、ユーザーのブラウザまたは OS が明るいテーマを好むか暗いテーマを好むかを確認(rèn)します。その情報(bào)が利用できない場(chǎng)合は、デフォルトでダーク モードが使用されます。次に、そのモードを :root 要素 (つまり、基本要素) に適用します。

const storedScheme = localStorage.getItem("color-scheme");
const preferredScheme = storedScheme 
  ? storedScheme 
  : window && 
    window.matchMedia && 
    window.matchMedia('(prefers-color-scheme: light)').matches ? "light" : "dark";

document.querySelector(':root').style.setProperty("color-scheme", preferredScheme);

JavaScript コード

このコードは、 で以前に設(shè)定されたpreferredScheme変數(shù)に基づいて正しいアイコンを表示します。 switchMode() 関數(shù)は、アイコン表示を更新し、:root カラースキームを変更し、新しい設(shè)定をローカル ストレージに保存します:

document.querySelector("#preferlight").style.display = preferredScheme === "light" 
  ? "none" 
  : "";
document.querySelector("#preferdark").style.display = preferredScheme === "light" 
  ? "" 
  : "none";

function switchMode(mode) {
  document.getElementById("preferlight").style.display = mode === "light" 
  ? "none" 
  : "";
  document.getElementById("preferdark").style.display = mode === "light" 
  ? "" 
  : "none";
  document.querySelector(':root').style.setProperty("color-scheme", mode);
  localStorage.setItem("color-scheme", mode);
}

これで、Bear ブログのライト/ダーク モードの切り替えが完了です!

以上がBear Blog のライト/ダーク モードのステップバイステップ ガイドの詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國(guó)語(yǔ) Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見(jiàn)つけた場(chǎng)合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫(huà)像を無(wú)料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫(xiě)真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫(xiě)真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無(wú)料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡(jiǎn)単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無(wú)料のコードエディター

SublimeText3 中國(guó)語(yǔ)版

SublimeText3 中國(guó)語(yǔ)版

中國(guó)語(yǔ)版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開(kāi)発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開(kāi)発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

「レンダリングブロッキングCSS」とは何ですか? 「レンダリングブロッキングCSS」とは何ですか? Jun 24, 2025 am 12:42 AM

ブラウザは、特にインポートされたスタイルシート、ヘッダーのインラインCSS、および最適化されていないメディアクエリスタイルを使用して、ブラウザがインラインおよび外部CSSをデフォルトで主要なリソースとして表示するため、ページレンダリングをブロックします。 1.重要なCSSを抽出し、HTMLに埋め込みます。 2。JavaScriptを介して非クリティカルなCSSの読み込みを遅らせる。 3.メディア屬性を使用して、印刷スタイルなどのロードを最適化します。 4.リクエストを減らすためにCSSを圧縮およびマージします。ツールを使用してキーCSSを抽出し、REL = "Preload"非同期負(fù)荷を組み合わせ、過(guò)度の分割と複雑なスクリプト制御を避けるためにメディア遅延荷重を合理的に使用することをお?jiǎng)幛幛筏蓼埂?/p>

外部対內(nèi)部CSS:最良のアプローチは何ですか? 外部対內(nèi)部CSS:最良のアプローチは何ですか? Jun 20, 2025 am 12:45 AM

TheBestAppRoachforCSDependsonTheProject'sSpecificNeeds.forLargerProjects、externalCssissisbetterduetoMaintainasiladability; forsmallerProjectsOrsingLe-PageApplications、internalcsSmightBemoresuitable.it

私のCSSは小文字でなければなりませんか? 私のCSSは小文字でなければなりませんか? Jun 19, 2025 am 12:29 AM

いいえ、CSSDOESNOTHAVETOBEINLOWERCASE。

CSSケース感度:重要なことを理解する CSSケース感度:重要なことを理解する Jun 20, 2025 am 12:09 AM

cssismostlycase-inssensitive、buturlsandfontfamilynamesarecase-sensitive.1)propertiesandvalueslikecolor:red; areotcase-sensitive.2)urlsmustmatchtheserver'scase、例えば、/畫(huà)像/logo.png.3)

Autoprefixerとは何ですか?それはどのように機(jī)能しますか? Autoprefixerとは何ですか?それはどのように機(jī)能しますか? Jul 02, 2025 am 01:15 AM

Autoprefixerは、ターゲットブラウザスコープに基づいてCSS屬性にベンダープレフィックスを自動(dòng)的に追加するツールです。 1.エラーで接頭辭を手動(dòng)で維持する問(wèn)題を解決します。 2. PostCSSプラグインフォーム、CSSを解析し、プレフィックスする必要がある屬性を分析し、構(gòu)成に従ってコードを生成する屬性を分析します。 3.使用手順には、プラグインのインストール、ブラウザーリストの設(shè)定、ビルドプロセスでそれらを有効にすることが含まれます。 4。メモには、接頭辭を手動(dòng)で追加しない、構(gòu)成の更新を保持すること、すべての屬性ではなくプレフィックスを維持することが含まれ、プリ??プロセッサでそれらを使用することをお?jiǎng)幛幛筏蓼埂?/p>

CSSカウンターとは何ですか? CSSカウンターとは何ですか? Jun 19, 2025 am 12:34 AM

csScountersCantAnationally-bersectionSandLists.1)usecounter-resettoinitialize、counter-incrementtoincrease、andcounter()orcounters()todisplayvalues.2)を組み合わせたjavascriptfordynamiccontenttoensureaCurateupdatesと組み合わせます。

CSS:ケースはいつ重要ですか(いつそうではありませんか)? CSS:ケースはいつ重要ですか(いつそうではありませんか)? Jun 19, 2025 am 12:27 AM

CSSでは、セレクターと屬性名はケースに敏感ですが、値、名前の色、URL、およびカスタム屬性はケースに敏感です。 1.バックグラウンドカラーや背景色など、セレクターと屬性名はケース非感受性です。 2。値の16進(jìn)數(shù)色は大文字と小文字を區(qū)別しますが、赤と赤などの名前の色は無(wú)効です。 3. URLは癥例に敏感であり、ファイルロードの問(wèn)題を引き起こす可能性があります。 4.カスタムプロパティ(変數(shù))はケースに敏感であり、使用する場(chǎng)合はケースの一貫性に注意を払う必要があります。

conic-gradient()関數(shù)とは何ですか? conic-gradient()関數(shù)とは何ですか? Jul 01, 2025 am 01:16 AM

TheConic-Gradient()functionsscreateScular勾配の勾配は、測(cè)定されていることを確認(rèn)してください

See all articles