div
の背景を透明にしてください。background-color
とopacity
を使用してこれを実行しようとしましたが、問題は境界線と内部のテキストも透明になることです。 ここの例
透明なPNG背景画像を使用せずにこれを実現することは可能ですか?
子のコンテンツではなく背景の色を透明にしたい場合は、
background-color: rgba(0,0,0,.5); // Sets to 50% transparent
詳細については、このページを参照してください。これはcss3仕様であるため、すべてのブラウザーで表示されるわけではありません。
はい。
セットする background-color: transparent;
opacity
を使用しないでください。これにより、div全体が半透明になります。
http://jsfiddle.net/eU7By/1/ で例を更新しました
[〜#〜] update [〜#〜]コメント後
@DHuntrodsが言及しているように、背景色にrgbaを使用できます。 IEコースを少し調整する必要があります.. http://leaverou.me/2009/02/bulletproof-cross-browser-rgba-backgrounds/
最もクロスブラウザのソリューションは、(相対的または絶対的に配置された親の)追加の「絶対的に配置された」子要素に不透明度プロパティを使用することです:色付きの透明な背景を含めるためだけにあります。
次に、opacity
プロパティを使用して、この要素を透明にすることができます。この要素には子がないため、不透明度は他の要素には影響しません。
不透明度はIE5 +のプロパティであり、使用するだけです( http://css-tricks.com/snippets/css/cross-browser-opacity/ を参照):
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; /* IE 8 */
filter: alpha(opacity=50); /* IE 5-7 */
-moz-opacity: 0.5; /* Netscape */
-khtml-opacity: 0.5; /* Safari 1.x */
opacity: 0.5; /* Good browsers */
jsFiddleの例を参照 http://jsfiddle.net/DUjzX/1/
HTML:
<div class="my-cool-wrapper">
<div class="text-and-images-on-top">
<p>Here some content (text AND images) "on top of the transparent background"</p>
<img src="http://i.imgur.com/LnnghmF.gif">
</div>
<div class="transparent-background">
</div>
</div>
CSS:
.my-cool-wrapper {
position: relative;
}
.my-cool-wrapper .text-and-images-on-top {
padding: 10px 15px 19px 15px;
z-index: 1;
position: relative; /* needed to enable the z-index */
}
.my-cool-wrapper .transparent-background {
position: absolute;
top: 0;
width: 100%;
height: 100%;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=10)"; /* IE 8 */
filter: alpha(opacity=10); /* IE 5-7 */
-moz-opacity: 0.1; /* Netscape */
-khtml-opacity: 0.1; /* Safari 1.x */
opacity: 0.1; /* Good browsers */
background-color: blue;
}
続きを読む: 子要素に影響を与えずに背景画像の不透明度を設定
スクリーンショットの証拠
pS:Chrome、Firefox、Safariのスクリーンショットは追加しませんでした。これらははるかに「より良い」ブラウザです...信頼してください。これらも動作します。
30x30の透明GIFを背景として使用する必要がありました。
background:url('absolute path here');