背景の画像の上に不透明度のある CSS 要素があります。その要素内には、不透明度を継承する画像があるため、画像は通常よりもやや暗くなります。
<body>
<div class="trans">
<img class="not_trans" src="test.png">
</div>
</body>
CSS:
body{
background:url(stars.gif);
background-color:black;
}
.trans{
opacity:0.4;
}
img.not_trans{
opacity:1.0;
}
しかし、画像はまだ半分透明です。
img
を外に移動せずに、通常の非透過画像を実現するにはどうすればよいdiv
ですか?
異なる背景色でカスケードされた多くの要素がある場合、
background-color:rgba(0,0,0,0.4)
代わりにを使用するのopacity
は簡単なオプションではありません
img
周囲の要素の透明度を継承しない要素を1 つだけにしたい
少なくとも、javascript を使用した解決策があります。
- DOM 内の img タグを div の外に移動します
- 代わりにスペーサーを設定します
img
それがあった場所に配置しますposition:absolute
しかし、CSSで解決策はありますか?