CSS3 すりガラス効果

CSS3 すりガラス効果

すりガラス効果がうまく表現されていれば、ページが非常に鮮やかで立体的に見えるようになります。写真に直接

体 {
    最小高さ: 100vh;
    ボックスのサイズ: 境界線ボックス;
    マージン: 0;
    パディングトップ: calc(50vh - 6em);
    フォント: 150%/1.6 セリフ;
    背景: url("iphone.jpg") 0 中央に固定;
    背景サイズ: カバー;
}
主要 {
    マージン: 0 自動;
    パディング: 1em;
    最大幅: 30em;
    境界線の半径: .3em;
    ボックスシャドウ: 0 0 0 1px hsla(0,0%,100%,.3) インセット、
                0 .5em 1em rgba(0, 0, 0, 0.6);
    テキストシャドウ: 0 1px 1px hsla(0,0%,100%,.3);
    背景: hsla(0,0%,100%,.3);
}

<メイン>……</メイン>

これらのスタイル コードを削除すると、すりガラス効果を実現するためのコア コードは次のようになります。

体 {
    …
    背景: url("iphone.jpg") 0 中央に固定;
    背景サイズ: カバー;
}
主要 {
    …
    背景: hsla(0,0%,100%,.3);
}

もちろん、この効果はまだ私たちの期待からは程遠いものです。単純に 30% の透明度ではテキストが読みにくくなるからです。ページの場合、背景画像はページを美しく見せるためのものであり、テキストが中心となります。透明度の割合を増やすこともできますが、その場合ページが硬く見えてしまいます。テキストを読みやすくし、ページに活気を与えるために、上記の mian タグの背景をぼかすことができます。

ぼかしフィルターを試してみることもできますが、残念ながら正しく機能しません。

主要 {
    …
    -webkit-filter: ぼかし(3px);
    フィルター: ぼかし(3px);
}

ぼかしフィルターを使うと文字がぼやけてさらに見えにくくなるので諦めるしかありません。正しい方法は、mian タグに疑似要素 ::before を追加し、疑似要素にぼかしフィルターを使用することです: (デモ用に赤い背景色が追加されています)

主要 {
    位置: 相対的;
    …
}
メイン::前{
    コンテンツ: '';
    位置: 絶対;
    上: 0; 右: 0; 下: 0; 左: 0;
    Zインデックス: -1;
    -webkit-filter: ぼかし(20px);
    フィルター: ぼかし(20px);
    背景: rgba(255,0,0,.5);
}

ぼかし効果が得られていることがわかりますが、2 つの問題が発生します。まず、ぼかしにより外側に影が出てしまいます。これは簡単に解決できます。overflow overflow: hidden;次に、ぼかし効果は、その周囲の 20 ピクセルのぼかし半径内で徐々に薄れていきます。これを懸念し、ぼかし効果を中央と端で同じにしたい場合は、疑似要素のサイズを 20 ピクセル拡大します。安全のために、さらに 30 ピクセルまで拡大することもできます。

主要 {
    …
    オーバーフロー: 非表示;
}
メイン::前{
    …
    マージン: -30px;
}

最後に、疑似要素の赤い背景色を、bodyの背景画像に置き換えます。効果は次のようになります。ここをクリックして右クリックすると、完全なソース コードを表示することもできます。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

<<:  dockerを使用してTomcatをデプロイし、Skywalkingに接続する

>>:  React dva実装コード

推薦する

MAC 上の MySQL の初期パスワードを忘れた場合の対処方法

MACでMySQLの初期パスワードを忘れた問題を解決する方法を参考までに共有します。具体的な内容は次...

Dockerのローカルイメージ作成方法の分析

コンテナと呼ばれるものは、実際には親イメージに基づいて読み取りおよび書き込み可能なファイル階層を作成...

vagrant+virtualBoxで仮想マシンを構築する方法

1. はじめにVagrant は、仮想マシン (VirtualBox) を構築および管理するためのツ...

Reactの3つの主要属性における状態の使用の詳細な説明

目次クラスコンポーネント機能コンポーネントsetStateの落とし穴React では多くの場所でデー...

VMware Workstation 14 Pro に Win10 システムをインストールする

この記事では、VMware Workstation 14 Proにシステムをインストールする方法を紹...

選択タグ内のオプションをクリアする3つの方法

方法1コードをコピーコードは次のとおりです。 document.getElementById(&qu...

jQueryはショッピングカート機能を実装します

この記事の例では、ショッピングカート機能を実装するためのjQueryの具体的なコードを参考までに共有...

MySQL インデックスの最適化: ページング探索の詳細な紹介

目次MySQL インデックス最適化ページングの調査ケース1ケース2 MySQL インデックス最適化ペ...

Rancher で Kubernetes 用の標準化された VMware イメージを構築する方法

Kubernetes を学習するときは、Kubernetes 環境で練習する必要があります。ただし、...

CSSを使用してすべての子要素を選択する方法の詳細な説明

CSS を使用してすべての子要素を再帰的に選択するにはどうすればよいですか?以下の記事では、CSS ...

HTML と JavaScript を使用してローカル メディア (ビデオとオーディオ) ファイルを再生する方法

まず、セキュリティ上の理由から、JavaScript はローカル リソース ファイルに直接アクセスで...

よく使われる HTML タグとその特徴の完全なリスト

まず、HTML タグのいくつかの特性を知っておく必要があります。 1. 「<keyword&g...

Win7x64でのMySQL 5.7.18解凍版のインストール方法

関連記事: Win7 x64 に解凍版の mysql 5.7.18 winx64 をインストールする...

React Nativeでaxiosを使用してネットワークリクエストを行う方法

フロントエンド開発では、Ajax、jQuery ajax、axios、fetch など、データ要求を...

Alipay の Java 決済インターフェースを開発するための詳細な手順

目次最初のステップステップ2ステップ3ステップ4 Alipay 決済インターフェースへの接続に関する...