この記事は主に、透明な背景と不透明なテキストを実現するための CSS3 のサンプルコードに関する関連情報を紹介します。非常に優れた内容なので、参考として共有します。
私は最近、画像上に半透明の背景でテキストを表示するという要件に遭遇しました。その効果は次のとおりです:
Requirement.png
この要件を見た後、私の最初の反応は CSS3 の不透明度セットを使用することでした。要素の透明度。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>背景透明,文字也透明</title> <style> * { padding: 0; margin: 0; } .container { width: 600px; height: 400px; background: url('https://img1.dongqiudi.com/fastdfs3/M00/18/56/ChOxM1stHByARuNmAAGsJDKXtuM269.jpg') no-repeat; background-size: cover; -webkit-background-size: cover; -o-background-size: cover; background-position: center 0; } .demo { position: absolute; width: 260px; height: 60px; top: 260px; line-height: 60px; text-align: center; background-color: black; opacity: 0.5; } .demo p { color: #FFF; font-size: 18px; font-weight: 600; } </style> </head> <body> <p class="container"> <p class="demo"> <p>2018世界杯已开幕:10天</p> </p> </p> </body> </html>
効果は次のとおりです:
背景は透明で、テキストも透明です。png
これはニーズを満たしているように見えますが、不透明度を設定した後、要素全体が半透明になり、テキストが曖昧に見えるため、この解決策はお勧めできません。
実際、透明な CSS を実現する唯一の方法は、不透明度を設定することです。他に 2 つのタイプがあります:
css3 の rgba(red、green、blue、alpha)、rgba(255,255,255,0.8)
IE 専用フィルター フィルターなど、alpha の値は 0 から 1 です。 Alpha (opacity=x)、xの値はfilter:Alpha(opacity=80)のように0から100までです
ここではrgbaを設定する方法を使用しました:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>背景透明,文字不透明</title> <style> * { padding: 0; margin: 0; } .container { width: 600px; height: 400px; background: url('https://img1.dongqiudi.com/fastdfs3/M00/18/56/ChOxM1stHByARuNmAAGsJDKXtuM269.jpg') no-repeat; background-size: cover; -webkit-background-size: cover; -o-background-size: cover; background-position: center 0; } .demo { position: absolute; width: 260px; height: 60px; top: 260px; line-height: 60px; text-align: center; background-color: rgba(0,0,0,0.5); } .demo p { color: #FFF; font-size: 18px; font-weight: 600; } </style> </head> <body> <p class="container"> <p class="demo"> <p>2018世界杯已开幕:10天</p> </p> </p> </body> </html>
効果は次のように:
背景は透明でテキストは不透明です。png
このように設定すると、テキストがより鮮明に見えます。
概要
実際、この要件を達成するには、これが唯一の考え方ではありません。同じ位置に 2 つの p を使用することもできます。1 つは半透明の背景 p です。この問題を解決するには、絶対位置指定または負のマージンを記述し、空の内容で p を表示する必要があります。この方法は、次の例に示すように、シナリオによっては少し複雑になります。実際の需要シナリオでは、特定の問題を詳細に分析する必要があります。
上記がこの記事の全内容です。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。
関連する推奨事項:
CSS3を使用して一定の間隔で上にスクロールするテキストを実装する
以上がCSS3は透明な背景と不透明なテキストの効果を実現しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。