CSS3 で背景ぼかしを実現する 3 つの方法 (要約)

CSS3 で背景ぼかしを実現する 3 つの方法 (要約)

1. 通常の背景ぼかし

コード:

<スタイル>
        html,
        体 {
            幅: 100%;
            高さ: 100%;
        }

        * {
            マージン: 0;
            パディング: 0;
        }

        /*背景をぼかす*/
        .bg {
            幅: 100%;
            高さ: 100%;
            位置: 相対的;
            背景: url("./bg.jpg") 繰り返しなし固定;
            背景サイズ: カバー;
            ボックスのサイズ: 境界線ボックス;
            フィルター: ぼかし(2px);
            zインデックス: 1;
        }

        。コンテンツ {
            位置: 絶対;
            左: 50%;
            上位: 50%;
            変換: translate(-50%, -50%);
            幅: 200ピクセル;
            高さ: 200px;
            テキスト配置: 中央;
            zインデックス: 2;
        }
    </スタイル>
</head>

<本文>
    <div class="bg">
        <div class="content">ぼかした背景</div>
    </div>
</本文>

効果は以下のとおりです。

このように記述すると、div の子孫全体がぼやけて白い縁が現れ、ページが非常に見苦しくなります。この問題を解決するには、疑似要素を使用します。疑似要素のぼやけ具合は親要素の子孫に継承されないためです。

コード:

<スタイル>
        html,
        体 {
            幅: 100%;
            高さ: 100%;
        }

        * {
            マージン: 0;
            パディング: 0;
        }

        /*背景をぼかす*/
        .bg {
            幅: 100%;
            高さ: 100%;
            位置: 相対的;
            背景: url("./bg.jpg") 繰り返しなし固定;
            背景サイズ: カバー;
            ボックスのサイズ: 境界線ボックス;
            zインデックス: 1;
        }

        .bg:後{
            コンテンツ: "";
            幅: 100%;
            高さ: 100%;
            位置: 絶対;
            左: 0;
            上: 0;
            /* 親要素から背景プロパティの設定を継承します */
            背景: 継承;
            フィルター: ぼかし(2px);
            zインデックス: 2;
        }


        。コンテンツ {
            位置: 絶対;
            左: 50%;
            上位: 50%;
            変換: translate(-50%, -50%);
            幅: 200ピクセル;
            高さ: 200px;
            テキスト配置: 中央;
            zインデックス: 3;
        }
    </スタイル>
</head>

<本文>
    <div class="bg">
        <div class="content">ぼかした背景</div>
    </div>
</本文>

効果は以下のとおりです。

2. 背景を部分的にぼかす

前のエフェクトをマスターしたら、ローカル ブラー エフェクトは比較的簡単になります。

コード:

<スタイル>
        html,
        体 {
            幅: 100%;
            高さ: 100%;
        }

        * {
            マージン: 0;
            パディング: 0;
        }

        /*背景をぼかす*/
        .bg {
            幅: 100%;
            高さ: 100%;
            位置: 相対的;
            背景: url("./bg.jpg") 繰り返しなし固定;
            背景サイズ: カバー;
            ボックスのサイズ: 境界線ボックス;
            zインデックス: 1;
        }

        。コンテンツ {
            位置: 絶対;
            左: 50%;
            上位: 50%;
            変換: translate(-50%, -50%);
            幅: 200ピクセル;
            高さ: 200px;
            背景: 継承;
            zインデックス: 2;
        }

        .content:after {
            コンテンツ: "";
            幅: 100%;
            高さ: 100%;
            位置: 絶対;
            左: 0;
            上: 0;
            背景: 継承;
            フィルター: ぼかし(15px);
            /*ぼかしをもっと目立たせるには、ぼかしを大きくします*/
            zインデックス: 3;
        }

        .content>div {
            幅: 100%;
            高さ: 100%;
            テキスト配置: 中央;
            行の高さ: 200px;
            位置: 絶対;
            左: 0;
            上: 0;
            zインデックス: 4;
        }
    </スタイル>
</head>

<本文>
    <div class="bg">
        <div class="content">
            <div>背景を部分的にぼかす</div>
        </div>
    </div>
</本文>

効果は以下の図に示されています。

3. 背景の部分的な鮮明さ

コード:

<スタイル>
        html,
        体 {
            幅: 100%;
            高さ: 100%;
        }

        * {
            マージン: 0;
            パディング: 0;
        }

        /*背景をぼかす*/
        .bg {
            幅: 100%;
            高さ: 100%;
            位置: 相対的;
            背景: url("./bg.jpg") 繰り返しなし固定;
            背景サイズ: カバー;
            ボックスのサイズ: 境界線ボックス;
            zインデックス: 1;
        }

        .bg:後{
            コンテンツ: "";
            幅: 100%;
            高さ: 100%;
            位置: 絶対;
            左: 0;
            上: 0;
            背景: 継承;
            フィルター: ぼかし(5px);
            zインデックス: 2;
        }

        。コンテンツ {
            位置: 絶対;
            左: 50%;
            上位: 50%;
            変換: translate(-50%, -50%);
            幅: 200ピクセル;
            行の高さ: 200px;
            テキスト配置: 中央;
            背景: 継承;
            zインデックス: 3;
            ボックスの影: 0 0 10px 6px rgba(0, 0, 0, .5);
        }
    </スタイル>
</head>

<本文>
    <div class="bg">
        <div class="content">
            <div>背景の一部が透明です</div>
        </div>
    </div>
</本文>

効果は以下の図に示されています。

CSS3 で背景ぼかしを実現する 3 つの方法についての記事はこれで終わりです。CSS3 背景ぼかしに関する関連コンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  mysqlのデータディレクトリ内のファイルを直接コピーしてデータを復元する実装

>>:  Vueの監視プロパティの詳細な説明

推薦する

さまざまなHTTPリターンステータスコードの詳細な説明

サイト上のページを表示するためのリクエストがサーバーに送信されると(たとえば、ユーザーがブラウザでペ...

データベース内のSQL整合性制約ステートメントの分析

整合性制約整合性制約はテーブル データの正確性を保つためのものです。データが正しくない場合は、そもそ...

LeetCode の SQL 実装 (181. 従業員は管理職よりも収入が高い)

[LeetCode] 181.従業員の収入が管理職よりも多い従業員テーブルには、マネージャーを含む...

Vue要素のバックグラウンド認証プロセスの分析

序文:最近、プロジェクトで管理システムに遭遇しました。権限設定が非常に興味深いと思いました。自分の学...

W3C チュートリアル (12): W3C SOAP アクティビティ

Web サービスは、アプリケーション間の通信に関係しています。SOAP は、Web サービス間の X...

MySQL MyISAM デフォルト ストレージ エンジンの実装原則

デフォルトでは、MyISAM テーブルはディスク上に .frm (テーブル構造ファイル)、.MYD ...

CD コマンドを使わずに Linux でディレクトリ/フォルダに入る方法

ご存知のとおり、cd コマンドがないと、Linux でディレクトリを切り替えることはできません。それ...

JS で Websocket ベースのマルチターミナル ブリッジング プラットフォームを実装する方法

目次1. デバッグ対象2. WebSocketの機能3. ソケット接続を確立する3.1 部屋の作成方...

SQLのさまざまな結合サマリーの詳細な説明

SQL 左結合、右結合、内部結合、自然結合 さまざまな結合の概要SQL には、左結合、右結合、内部結...

Flutterを使用して移動可能なスタックウィジェット機能を作成する

この投稿では、キャンバスとドラッグ可能なノード インターフェースを使用するデスクトップおよび Web...

MySQLデータベースは何をするのか

MySQL は、スウェーデンの会社 MySQL AB によって開発されたリレーショナル データベース...

Linux で特定の時間にコマンドを実行する方法

先日、rsync を使用して LAN 上の別のシステムに大きなファイルを転送していました。非常に大き...

Dockerコンテナ内でホストDocker操作を呼び出して実行する

まず、この投稿は Docker 初心者向けです。もちろん、ベテランであれば記事中の分割線以降の操作方...

EXPLAIN を使って MySQL の SQL 実行プランを分析する方法

序文MySQL では、EXPLAIN コマンドを使用して、テーブルの接続方法や SELECT ステー...

HTML での select optgroup タグの使用の概要

時々、選択した内容をグループ化する必要があります。以前はプログラム制御を使用していました。今日、se...