最近、画像上に半透明の背景でテキストを表示する必要があるという要件に遭遇しました。その効果は次のようになります。 要件.png この要件を確認した後の最初の反応は、CSS3 の不透明度を使用して要素の透明度を設定することです。 <!DOCTYPE html> <html lang="ja"> <ヘッド> <メタ文字セット="UTF-8"> <meta name="viewport" content="width=デバイス幅、初期スケール=1.0"> <meta http-equiv="X-UA-compatible" content="ie=edge"> <title>透明な背景、透明なテキスト</title> <スタイル> * { パディング: 0; マージン: 0; } 。容器 { 幅: 600ピクセル; 高さ: 400px; 背景: url('https://img1.dongqiudi.com/fastdfs3/M00/18/56/ChOxM1stHByARuNmAAGsJDKXtuM269.jpg') 繰り返しなし; 背景サイズ: カバー; -webkit-background-size: カバー; -o-background-size: カバー; 背景位置: 中央 0; } .デモ{ 位置: 絶対; 幅: 260ピクセル; 高さ: 60px; 上: 260px; 行の高さ: 60px; テキスト配置: 中央; 背景色: 黒; 不透明度: 0.5; } .demo p { 色: #FFF; フォントサイズ: 18px; フォントの太さ: 600; } </スタイル> </head> <本文> <div class="コンテナ"> <div class="demo"> <p>2018年ワールドカップ開幕まであと10日</p> </div> </div> </本文> </html> 効果は以下のとおりです。 背景は透明で、テキストも透明です。png これはニーズを満たしているように見えますが、完璧ではありません。不透明度を設定すると、要素全体が半透明になり、テキストがぼやけて表示されます。この解決策はお勧めできません。 実際、不透明度を設定することは、CSS で透明性を実現する唯一の方法ではありません。他に 2 つのタイプがあります:
ここでは RGBA を設定する方法を使用します。 <!DOCTYPE html> <html lang="ja"> <ヘッド> <メタ文字セット="UTF-8"> <meta name="viewport" content="width=デバイス幅、初期スケール=1.0"> <meta http-equiv="X-UA-compatible" content="ie=edge"> <title>背景は透明、テキストは不透明</title> <スタイル> * { パディング: 0; マージン: 0; } 。容器 { 幅: 600ピクセル; 高さ: 400px; 背景: url('https://img1.dongqiudi.com/fastdfs3/M00/18/56/ChOxM1stHByARuNmAAGsJDKXtuM269.jpg') 繰り返しなし; 背景サイズ: カバー; -webkit-background-size: カバー; -o-background-size: カバー; 背景位置: 中央 0; } .デモ{ 位置: 絶対; 幅: 260ピクセル; 高さ: 60px; 上: 260px; 行の高さ: 60px; テキスト配置: 中央; 背景色: rgba(0,0,0,0.5); } .demo p { 色: #FFF; フォントサイズ: 18px; フォントの太さ: 600; } </スタイル> </head> <本文> <div class="コンテナ"> <div class="demo"> <p>2018年ワールドカップ開幕まであと10日</p> </div> </div> </本文> </html> 効果は以下のとおりです。 背景は透明、テキストは不透明.png この設定を行うと、テキストがより鮮明に表示されます。 まとめ 実は、この要件を満たす方法は 1 つだけではありません。同じ位置に 2 つの DIV を使用し、1 つを半透明の背景の DIV、もう 1 つをテキストの DIV にすることもできます。この方法でも問題を解決できますが、絶対位置または負のマージン、および空のコンテンツを含む DIV が必要です。この方法は、次の例に示すように、一部のシナリオでは少し複雑に見える場合があります。そのため、実際の需要シナリオで具体的な問題を分析する必要があります。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 |
<<: Docker-compose チュートリアルのインストールとクイックスタート
需要背景チームには統合テストが必要であり、そのためには、mysql や rabbitmq などのミド...
フレーム構造タグ <frameset></frameset>フレームを使用す...
この記事では、ボタン切り替え画像を実現するためのVueの具体的なコードを例として紹介します。具体的な...
さっそく、コードを見てみましょう(初心者:特に言うことはありません) <!DOCTYPE ht...
今日、WordPress がデータベースに接続できないことがわかりました。ウィンドウ サーバーにログ...
これら 2 つの属性はよく使用されますが、その違いはまとめられていません。それでは、その使い方をまと...
目次ユニオンクエリ1. 中国の各省のIDと名前を照会する2. 湖南省のすべての地級市のIDと名称3....
間違った mysql コマンドを入力したのでキャンセルしたいです。どうすればいいですか? ctrl ...
アイデア: 最初にランダムに並べ替えてからグループ化します。 1. テーブルを作成します。 テーブル...
目次1. シナリオ2. 解決策3. 結論4. 参考文献1. シナリオ日常の開発およびテスト作業には ...
原理ホバーしたときに要素に影を設定します: box-shadow で、通常とは異なるスタイルにします...
1. 計算属性とは何ですか? 簡単に言えば、計算された結果が属性に保存されるもので、キャッシュとして...
1つ。序文<br />この種の質問は、どの専門掲示板でも見かけます。Google で検索...
初心者の Linux ユーザーとして、私は単純なgcc/g++操作を何度も使用してきましたが、少し複...
目次1 配列のフラット化とは何ですか? 2 JS標準ライブラリの配列フラット化メソッド3 フラットメ...