CSS3 を使用した背景ぼかし効果の 3 つの例

CSS3 を使用した背景ぼかし効果の 3 つの例

導入から始めず、いきなり本題に入りましょう。
通常の背景ぼかし効果は次のとおりです。

ここに写真の説明を記入してください

プロパティを使用する:

フィルター:(2px)

通常の背景ぼかし

美観上の理由から、背景の前のテキストをぼかすことはできず、フィルター属性により、div の子孫全体に白い縁が付きます。つまり、この効果は得られません。どうすればいいですか?疑似要素を使用すると、白い境界線の問題も解決されます。

実装のアイデア:
親コンテナに背景を設定し、相対的な配置を使用して疑似要素の重なりを容易にします。 :after では、背景を継承し、ぼかしを設定し、親要素を覆うように絶対位置に配置するだけです。この方法では、親コンテナ内の子要素はぼかしの影響を受けません。疑似要素のぼかしは親要素の子には継承できないためです。
ここまで述べてきましたが、コードで頭をリフレッシュしてみましょう。

シンプルな HTML レイアウト:

<div class="bg">
   <div class="drag">ウィンドウをドラッグ</div>
</div>

CS: ...

/*背景をぼかす*/
.bg{
    幅:100%;
    高さ:100%;
    位置: 相対的;
    背景: url("../image/banner/banner.jpg") 繰り返しなしが修正されました。
    パディング:1px;
    ボックスのサイズ:境界線ボックス;
    zインデックス:1;
}
.bg:後{
    コンテンツ: "";
    幅:100%;
    高さ:100%;
    位置: 絶対;
    左:0;
    トップ:0;
    背景: 継承;
    フィルター: ぼかし(2px);
    zインデックス: 2;
}
。ドラッグ{
    位置: 絶対;
    残り:50%;
    上位:50%;
    変換: translate(-50%,-50%);
    幅:200px;
    高さ:200px;
    テキスト配置: 中央;

    zインデックス:11;
}

もちろん、上記のコードを見ると、親コンテナの下の子要素も絶対配置を使用する必要があることがわかりますが、これは後続のレイアウトには影響しませんので、お気軽にご利用ください(質問がある場合は、ブロガーに助けを求めることができます〜)。階層関係を決定するために z-index が使用され、子要素 (つまり、ここにドラッグ) が最上部にあることを確認する必要があることに注意してください。そうしないと、子要素のテキストは表示されません。

上記のコードには、div が中央に配置されることを確認するメソッドもあります。注意深い学生なら、それに気付いたはずです。これは、フレックス レイアウトを使用せずに中央に配置する比較的簡単な方法です。

では、このようなコードを書くことでどのような効果があるのでしょうか?

ここに写真の説明を記入してください

背景部分ぼかし

前のエフェクトと比較すると、部分的な背景のぼかしは比較的簡単です。このとき、親要素はぼかす疑似要素を設定する必要はありません。上記のコードとまったく同じように、子要素はぼかされますが、子要素の子孫はぼかされない場合があります (解決策は前のエフェクトで説明したとおりであることに注意してください)。
HTML レイアウトが少し変更されました:

<div class="bg">
   <div class="ドラッグ">
        <div>ウィンドウをいいね</div>
   </div>
</div>

CSSコードは次のとおりです(比較に注意してください)

/*背景を部分的にぼかす*/
.bg{
    幅:100%;
    高さ:100%;
    背景: url("../image/banner/banner.jpg") 繰り返しなしが修正されました。
    パディング:1px;
    ボックスのサイズ:境界線ボックス;
    zインデックス:1;
}
。ドラッグ{
    マージン:100px 自動;
    幅:200px;
    高さ:200px;

    背景: 継承;

    位置: 相対的;
}
.drag >div{
    幅:100%;
    高さ: 100%;
    テキスト配置: 中央;
    行の高さ:200px;
    位置: 絶対;
    左:0;
    トップ:0;
    zインデックス: 11;
}
.drag:after{
    コンテンツ: "";
    幅:100%;
    高さ:100%;
    位置: 絶対;
    左:0;
    トップ:0;
    背景: 継承;
    filter: blur(15px);/*ぼかしを目立たせるには、ぼかしを大きくします*/
    zインデックス: 2;
}

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

ここに写真の説明を記入してください

背景は部分的に鮮明

背景を部分的に透明にする効果は、単純でも難しくもありません。重要なのは、background:inherit 属性を適切に適用することです。ここでは、垂直方向に中央揃えするために transform を使用することはできないため、flex レイアウトを選択しましょう。ここで transform 属性を使用すると、背景もオフセットされます。この方法では、局所的な明瞭度への影響は発生しません。
HTML レイアウトは変更されません。
CSS の変更に注意してください:

/*背景の一部が透明*/
.bg{
    幅:100%;
    高さ:100%;
    位置: 相対的;
    背景: url("../image/banner/banner.jpg") 繰り返しなしが修正されました。
    パディング:1px;
    ボックスのサイズ:境界線ボックス;
}
.bg:後{
    コンテンツ: "";
    幅:100%;
    高さ:100%;
    位置: 絶対;
    左:0;
    トップ:0;
    背景: 継承;
    フィルター: ぼかし(3px);
    zインデックス: 1;
}
。ドラッグ{
    位置: 絶対;
    残り:40%;
    上位30%
    /*変換: translate(-50%,-50%);*/
    幅:200px;
    高さ:200px;
    テキスト配置: 中央;

    背景: 継承;
    zインデックス:11;

    ボックスの影: 0 0 10px 6px rgba(0,0,0,.5);
}

エフェクト表示:

ここに写真の説明を記入してください

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

<<:  Redis を Docker コンテナとして素早くデプロイする方法

>>:  MySQL count(1)、count(*)、count(field)の違い

推薦する

163 メールボックスログインボックスインタラクティブデザインの改善体験と共有

LOFTER のコンテストで、ログイン ボックスを再設計できると言及されているのを見ました。過去 2...

よく理解しましたかタグ 定義方法 使用方法

序文:今日、「<!DOCTYPE> タグを注意深く理解しましたか?」と尋ねられました。私...

Docker クリーニングキラー/Docker オーバーレイ ファイルがディスク領域を大量に占有する

[インターネット上の移行ファイルをすべて見ると、信頼性が低く、症状のみを治療し、根本的な原因を治療し...

CSSを使用してHTMLテキストボックス内のテキストの垂直方向の中央を制御する

Text の height 属性が定義されている場合、Text に入力されたテキストは垂直方向に中央...

vuex名前空間の使用

目次Vuex は単一の状態ツリーを使用するため、すべてのアプリケーション状態が比較的大きなオブジェク...

js 配列エントリ() 反復メソッドを取得する

目次1.entires() メソッドの詳細な構文2.entires() メソッドの一般的な使用法と注...

CSS3 を使用してピカチュウのアニメーション壁紙を作成する例

文章さて、次はレンダリングを見せましょう。画像を見て初めて理解することに興味が湧くでしょう。そうでな...

JS ES6 変数分割代入の詳細な説明

目次1. 脱構築とは何か? 2. 配列の分割3. 配列モードと代入モードの統一4. デフォルト値の構...

HTML 基本要約推奨事項 (テキスト形式)

HTMLテキスト書式タグ 標簽 描述 <b> 定義粗體文本 <em> 呈現...

SQL インジェクション脆弱性プロセスの例と解決策

コード例: パブリッククラスJDBCDemo3 { パブリック静的voiddemo3_1(){ bo...

CentOS 7 ブートカーネルの切り替えとブートモードの切り替えの説明

Centos7 スイッチブートカーネル注: 必要に応じて、最初にyum update -yを実行して...

h5入力ボックスプロンプト+通常のテキストボックスプロンプトを実装する方法

XML/HTML コードコンテンツをクリップボードにコピー<入力 id = "ユーザ...

Docker イメージのデフォルトの保存場所を変更する方法 (ソリューション)

システムの初期のパーティション分割により、オペレーティング システム内の対応する / パーティション...

雨滴効果を実現する JavaScript キャンバス

この記事の例では、雨滴効果を実現するためのキャンバスの具体的なコードを参考までに共有しています。具体...

Centos7 に yum 経由で MySQL をインストールする方法

1. MySQLがインストールされているかどうかを確認する yum インストール済みリスト | gr...