我有一个图像,减少了不透明度和一些文字,这是在一个单独的div,是躺在图像(负边缘-顶部)。虽然图像应该是透明的,但文本不应该透明。我现在发现,根据不透明度的值,文本以黑色或透明的形式显示。
当图像有
不透明度:1
文本是黑色的,当值较低时-文本也有一个减少的不透明度。我的标记看起来如下:
<li>
<img src="image.jpg">
<div class="text">Description</div>
</li>
.text{ margin-top: -3em; }
img{ opacity: 0.5; }
怎样才能始终以黑色显示文本?
发布于 2014-04-16 10:33:30
添加
position: relative;
将文本放置在顶部。
问题是设置与opacity
不同的1
创建一个堆叠上下文。
然后,根据规范中定义的顺序的说法,图像与文本重叠,因为:
.text
是流的、非定位的、块级的元素。自4< 6开始,图像与文本重叠。
为了避免这种情况,可以让.text
定位的元素添加position: relative
。现在,它们将属于这一类:
现在,由于6< 8,文本重叠图像。
或者,您也可以添加一个正的z-index
(例如,z-index:1
),以便将.text
归入下一个类别:
您可以阅读更多关于没有人告诉你Z-索引中的堆叠上下文和z轴定位的内容,这是一篇比原始规范更吸引人的文章。
https://stackoverflow.com/questions/23117393
复制相似问题