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の監視プロパティの詳細な説明

推薦する

MySQL 空間データストレージと関数

目次1. データ型1. MySQL空間データとは何か2. GeoJSONとは3. 空間データ型のフォ...

Eclipse/Tomcat でホットデプロイメントとホットスタートを実装する方法

1. ホット デプロイメント: コンテナの実行中にプロジェクト全体を再デプロイすることを意味します。...

VMware仮想マシンにdeepin20をインストールする最も完全で詳細なプロセス

仮想マシンソフトウェア: VMware Workstationイメージ: deepin-deskto...

JavaScript でプロパティハイジャックを実装する方法 defineProperty

目次序文記述子getとsetの詳細な説明オブジェクトの属性の乗っ取りオブジェクトのすべてのプロパティ...

CSSで検索ボックスを非表示にする機能を実装します(アニメーション順方向と逆方向のシーケンス)

上部のメニュー バーに検索ボックスを配置するのは一般的なシナリオですが、検索機能がそれほど頻繁に使用...

Windows で MySQL インストーラーを使用して MySQL サービスをインストールするチュートリアル図

MYSQL は、MYSQL サービスやその他のコンポーネントをインストールするためのインストーラ方式...

JavaScriptプロトタイプチェーンを理解する

目次1. プロトタイプとプロトタイプチェーンの平等関係を理解する2: プロトタイプとプロトタイプ チ...

Dockerイメージを構築する2つの方法

目次既存のイメージからイメージを更新します。イメージを最初から構築する: Docker イメージ リ...

Vueはアンカー配置機能を実装します

この記事では、アンカー配置を実装するためのVueの具体的なコードを例として紹介します。具体的な内容は...

ウェブページのコメントにより IE でテキストがオーバーフローする

実験コードは次のとおりです。 </head> <body> <div ...

Centos7.3 での mysql5.7 のインストールと設定のチュートリアル

この記事では、MySQL 5.7のインストールと設定のチュートリアルを参考までに紹介します。具体的な...

Python MySQL データベース テーブルの変更とクエリ

Python は MySQL に接続してデータベース テーブルを変更およびクエリします。 pytho...

Vue2.0の双方向データバインディング原則を手動で実装する

一言で言えば: データハイジャック (Object.defineProperty) + パブリッシュ...

この記事ではSQL CASE WHENの使い方を詳しく説明します

目次シンプルな CASEWHEN 関数:これは、CASEWHEN 条件式関数を使用するのと同じです。...