ウェブページでグレーまたはブラックモードを実現するための CSS3 フィルターコード

ウェブページでグレーまたはブラックモードを実現するための CSS3 フィルターコード

フロントエンド

css3 フィルターは、Web ページのグレー効果を実現できるだけでなく、ナイト モード効果の実現にも役立ちます。どのように実装するか見てみましょう!

フィルタプロパティの概要

フィルター: なし | ぼかし() | 明るさ() | コントラスト() | ドロップシャドウ() | グレースケール() | 色相回転() | 反転() | 不透明度() | 彩度() | セピア() | url();

ヒント: 複数のフィルターを区切るにはスペースを使用します。

ウェブサイトのグレー効果

このエフェクト ブログは、よく使用される CSS エフェクトをまとめているときに最初に作成されました。

以下のコードで簡単に実現できます!

コードは次のとおりです。

html{
   フィルター: グレースケール(100%); //IE ブラウザーの webkit フィルター: グレースケール(100%); //Google ブラウザーの moz フィルター: グレースケール(100%); //Firefox の ms フィルター: グレースケール(100%);
  -o-filter: グレースケール(100%);
  フィルター:progid:DXImageTransform.Microsoft.BasicImage(グレースケール=1);
  -webkit-filter: grayscale(1); // Google Chrome}

グレー効果と比較すると、夜間モードを実現するのは少し難しいです。

ナイトモード判定

純粋な Web の場合は、最新のブラウザで prefers-color-scheme クエリ ステートメントを使用できます。

構文は次のとおりです。

非優先: システムは、使用する配色をユーザーに通知しません。
light は、システムが明るいテーマを優先することを示します。
dark は、システムがダークテーマを優先することを示します。

例えば:

/* ダークモード */
@media (優先カラースキーム: 暗い) {
    本文 { 背景: #333; 色: 白; }
}
/* ライトモード */
@media (優先カラースキーム: 明るい) {
    本文 { 背景: 白; 色: #333; }
}

JavaScript コードでシステムのダーク テーマまたはライト テーマを判別する必要がある場合は、ネイティブの window.matchMedia() メソッドを使用できます。次に例を示します。

// ダークモードをサポートするかどうか // true または false を返す
window.matchMedia("(prefers-color-scheme: dark)").matches;

ナイトモードコード

html{
    フィルター: invert(1) hue-rotate(.5turn);
}

その後、画像が反転してしまい、非常に醜いものになります。

画像 {
    フィルター: invert(1) hue-rotate(.5turn);
}

画像に別のレイヤーを追加すると、正しい向きになり、純粋な画像がうまくいきます

したがって、組み合わせは次のように設定できます。

html、画像 {
    フィルター: invert(1) hue-rotate(.5turn);
}
画像 {
    不透明度: .75;    
}

しかし、背景画像と黒い影に問題があります。背景画像については、次のように設定できます。

@media (優先カラースキーム: 暗い) {
    html、画像 { 
        フィルター: 反転(1) 色相回転(180度);
    }
   .bgフィルター{
    フィルター: 反転(1) 色相回転(180度);
  }
    .some-ele-box {
        ボックスシャドウ: なし;
    }
}

質問

上記の設定は明るい背景のみに適用され、背景なしまたは透明な背景では機能しません。

また、それぞれのスタイルごとに特別な加工が必要となります。たとえば、フィルターをグローバル変数として使用して、夜間モードに完全に一致させることができます。例えば:

@media (優先カラースキーム: 暗い) {
    html{
        フィルター:反転(1) 色相回転(180度)
    }

    .dark-img,img {
        フィルター: 反転(1) 色相回転(180度)
    }
   // 背景画像に対する特別な処理 // グローバルカラーに対する特別な処理 // background-color: var(--darkColor)
}

CSS3 フィルターを使用して Web ページでグレーまたはブラック モードを実現する方法についての記事はこれで終わりです。CSS3 フィルターを使用して Web ページでグレーまたはブラック モードを実現する方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  アダプティブ Web デザインを実現する方法に関する関連知識ポイントの要約

>>:  MySQL および Oracle のバッチ挿入 SQL の一般的な記述例

推薦する

シンプルなjQuery + CSSを使用してカスタムタグタイトルツールチップを作成します

導入シンプルな jQuery + CSS を使用して、ブラウザのデフォルトの動作を置き換えるカスタム...

MySQL/MariaDB で完全な Unicode をサポートする方法

目次utf8mb4 の紹介UTF8 バイト数超過エラーutf8mb4 サポートデフォルトの文字エンコ...

Docker-compose におけるdepends_on 順序問題を解決する方法についての簡単な説明

コンテナをソートするためにdepends_onを使用しても、コンテナ間の依存関係の問題は完全には解決...

2018 年にリリースされる Apache Spark 2.4 の新機能は何ですか?

この記事は、2018 年 9 月 19 日に Adob​​e Systems Inc で開催された ...

MySQLデータベースの追加、削除、変更操作の詳細な説明

データの挿入テーブル名(列名1、列名2、列名3)の値(値1、値2、値3)に挿入します。ユーザーに(u...

HTML ドロップダウン ボックスの SELECT オプションを変更する複数の方法

フォームが送信されると、返された HTML ページが再レンダリングされ、SELECT コントロールの...

Linuxの基本コマンドmktempの詳しい説明

mptemp は安全な方法で一時ファイルまたはディレクトリを作成します。このコマンドの適用範囲: R...

CSS 配置レイアウト (位置、配置レイアウト スキル)

1. ポジショニングとは何ですか? CSS の position 属性には、absolute/re...

jsはシンプルなショッピングカートモジュールを実装します

この記事の例では、参考までに、シンプルなショッピングカートモジュールを実装するためのjsの具体的なコ...

SecureCRT に基づくリモート Linux ホストへのファイルのアップロードとダウンロードのグラフィカルな手順

wget や curl ツールを使用して、Linux サーバーで大規模なネットワーク ファイルを直接...

MySQL テーブルにはどのくらいの量のデータを保存できますか?

プログラマーは MySQL を扱う機会が多く、毎日触れているとも言えますが、MySQL テーブルには...

ウェブページ作成における絶対パスと相対パスの違い

1. 絶対パスまず、ローカル コンピューターでは、ファイルの絶対パスは、当然、ハード ディスク上でフ...

MySQL開発標準と使用スキルの概要

1. 命名規則1. データベース名、テーブル名、フィールド名には小文字を使用し、アンダースコアで区切...

docker ストレージを使用して Exit を実行すると、サーバーへのファイルのアップロードが失敗する問題と解決策

1. 問題の説明Docker コンテナにインストールされているストレージが終了状態になっているため、...

Vue3+Element+Tsは、フォームの基本的な検索リセットやその他の機能を実装します

Vue2 の記述スタイルから Vue3 の形式に切り替えると、記述スタイルとコード構造にいくつかの変...