这工作:CSS背景图像颜色叠加
.header {
background: linear-gradient(to bottom, rgba(100, 100, 100, 1.0), rgba(0, 0, 0, 0.1)), url("https://s3.amazonaws.com/codecademy-content/courses/web-101/unit-4/htmlcss1-img_coffee-bgnd.jpeg");
height: 400px;
background-position: center center;
}
然而,这不起作用:
.header {
background: rgba(100, 100, 100, 0.5), url("https://s3.amazonaws.com/codecademy-content/courses/web-101/unit-4/htmlcss1-img_coffee-bgnd.jpeg");
height: 400px;
background-position: center center;
}
任何人有任何理由解释吗?为什么不能我只是RGBA
图像略带颜色叠加而不使用线性渐变?
请不要杀了我,完成初学者。
如果你使用一个简单的颜色(例如,如果它是一个'RBGA'值,它将被读为一种颜色。如果您使用渐变,则输出为图像。当你使用一个简单的颜色时,你不需要图像的'RGBA'值和'url'之间的逗号,但它将是一个**后备背景**而不是覆盖 - 它会渲染到一旦加载图像 - 这是除非你指定'background-blend-mode'属性中的其他东西。如果您使用渐变,那么由于输出是图像,因此需要使用逗号。你的问题是语法。为什么不为覆盖使用伪元素? –
被标记的伪装与这个问题无关。 –
为什么这个帖子被标记为与不相关的问题链接重复?无论如何,这是对你的一种回答。 https://css-tricks.com/tinted-images-multiple-backgrounds/ –