【发布时间】:2017-07-11 06:44:43
【问题描述】:
我目前正在尝试使用图像动态更改背景的背景渐变。我正在使用以下 CSS 属性来添加图像和渐变。
CSS:
background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 59%, rgba(0, 0, 0, 0.9) 100%), url('../images/walters.jpg') no-repeat;
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(0, 0, 0, 0)), color-stop(59%, rgba(0, 0, 0, 0)), color-stop(100%, rgba(0, 0, 0, 0.9))), url('../images/walters.jpg') no-repeat;
background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 59%, rgba(0, 0, 0, 0.9) 100%), url('../images/walters.jpg') no-repeat;
background: -o-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 59%, rgba(0, 0, 0, 0.9) 100%), url('../images/walters.jpg') no-repeat;
background: -ms-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 59%, rgba(0, 0, 0, 0.9) 100%), url('../images/walters.jpg') no-repeat;
background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 59%, rgba(0, 0, 0, 0.9) 100%), url('../images/walters.jpg') no-repeat;
这里的代码几乎相同,唯一的例外是跨浏览器兼容性。我唯一需要更改的是带有0.9 alpha 的RGBA 的实际颜色或属性中的最后一个颜色(rgba(0, 0, 0, 0.9))。
当用户从颜色选择器中选择实际属性时,应使用 Javascript 更改它。
我尝试分别设置背景图像和渐变,但它不适用于我的配置。我需要一个解决方案,只更改背景颜色,同时保留所有其他参数
任何帮助都会很棒,谢谢!
【问题讨论】:
-
@MikeMcCaughan 不像修改渐变那么简单。我尝试分别设置 bg 图像和渐变,但它不适用于我的配置。我需要一个解决方案,它只改变背景颜色,同时保留所有其他参数。
-
您需要edit 您的问题,包括为什么该副本不能解决您的问题。您可以只读取属性的现有值,更改您需要的内容,然后写入更改后的值。请阅读How to Ask。关键词:“搜索和研究”和“解释......任何阻碍你自己解决的困难”。
-
渐变被视为图像,您实际上无法将它们分开。你可以放两个div,第一个是bg图像,另一个是渐变。而且,没有 -ms-linear-gradient 这样的东西。由于IE 10 it supports 是标准语法(无前缀)。
-
我已将您的 CSS 转换为 sn-p,请编辑 sn-p 并显示您要执行的操作
标签: javascript html css sass