css - 用 RGBA 颜色覆盖 CSS 渐变?

标签 css overlay background-image

我想为它的 :active 状态的按钮添加一个透明的黑色覆盖层,所以当你点击它时,它是相同的渐变,但只是覆盖了例如rgba(0,0,0,.3)

我认为这可行的方式是(在此示例中使用 webkit):

background:rgba(0,0,0,.3), -webkit-linear-gradient(top, #fcfcfc 0%,#bababa 100%);

或者没有逗号,顺序颠倒了......但是什么也没有出现!

我不热衷于添加另一个 div 来充当覆盖层来执行此操作,那么是否有严格的 CSS 方法来执行此操作?我在想也许它是一个 :before:after 伪类,但我不知道如何使用它们!

非常感谢您的回答,这困扰了我很长时间。

最佳答案

你不能那样做; rgba 定义颜色,而不是图像。您可以做的是使用不是渐变的渐变:

background: -webkit-linear-gradient(rgba(0, 0, 0, .3), rgba(0, 0, 0, .3)), -webkit-linear-gradient(top, #fcfcfc 0%,#bababa 100%);

这就是为什么我在开发时总是指定 background-image 而不是使用速记 - 它使调试更容易。

关于css - 用 RGBA 颜色覆盖 CSS 渐变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10859017/

相关文章:

Jquery 表单验证样式

c# - DirectX 9、10 Hook 以在全屏游戏上覆盖内容

javascript - 如何使用 Three.js 和 Orbit-controls 添加对主视图的移动使用react的覆盖部分?

mkmapview - IOS 上的 Mapkit 是否支持叠加层的出列? (就像注释一样)

html - 如何添加覆盖 img 标签的图像?

html - <table> 的奇怪行为?

css - 如何在响应式设计布局中折叠左侧边距或边距?

javascript - 对 h1、h2 标题、重置计数器的嵌套文档进行编号

html - 多个背景相互叠加(正常、拉伸(stretch)、正常)

CSS 背景图像 - 缩小以适合固定大小的 div