如何使用 jQuery 的 css 方法将背景图像属性设置为线性渐变?

发布于 2024-12-03 13:07:28 字数 348 浏览 0 评论 0原文

当我在页面上使用它时,背景渐变不会出现(我现在只担心 Safari 和 Firefox):

$("#myElement").css({
    backgroundImage: "-webkit-gradient(linear, top, bottom, from(black), to(white)",
    backgroundImage: "-moz-linear-gradient(top, black, white)"
});

我尝试在适当的浏览器中只使用其中之一,但没有运气。

我可以在代码中为元素使用内联样式属性,但如果有办法使用 jQuery 的 API 来实现,我宁愿不这样做。

When I use this on my page the background gradient doesn't appear (I'm only worried about Safari and Firefox at the moment):

$("#myElement").css({
    backgroundImage: "-webkit-gradient(linear, top, bottom, from(black), to(white)",
    backgroundImage: "-moz-linear-gradient(top, black, white)"
});

I tried using just one or the other as well in the appropriate browsers, but no luck there.

I can just use an inline style attribute for the element in my code, but I'd rather not do it that way if there's a way to do it using jQuery's API.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

花开半夏魅人心 2024-12-10 13:07:28

以下内容对我有用。

$("#myElement").css({
    background: "-webkit-gradient(linear, left top, left bottom, from(#000000), to(#FFFFFF))"}).css({
    background: "-moz-linear-gradient(top, black, white)"
});

jsFiddle 演示

更改:

  • 背景代替背景图片
  • 顶部、底部改为:左上、左下
  • 缺少 webkit 渐变中的右括号
  • ,将黑色和白色更改为 #000000,并 #FFFFFF
  • 添加了第二个 .css

在 Chrome 和 FF 6 上测试

The following works for me.

$("#myElement").css({
    background: "-webkit-gradient(linear, left top, left bottom, from(#000000), to(#FFFFFF))"}).css({
    background: "-moz-linear-gradient(top, black, white)"
});

jsFiddle Demo

Changes:

  • background instead of backgroundImage
  • top, bottom to: left top, left bottom
  • missing closing parentheses from the webkit gradient
  • changed black and white to #000000 and #FFFFFF
  • added a second .css

Tested on Chrome and FF 6

记忆消瘦 2024-12-10 13:07:28

我在 Firefox 6.0.1 上尝试过,它对我的

$(function() {

$("#myElement").css({
    backgroundImage: "-webkit-gradient(linear, top, bottom, from(black), to(white)",
    backgroundImage: "-moz-linear-gradient(top, black, white)"
});

});

​​ HTML有效

<div id="myElement">testing</div>

I tried this on Firefox 6.0.1 and it works for me

$(function() {

$("#myElement").css({
    backgroundImage: "-webkit-gradient(linear, top, bottom, from(black), to(white)",
    backgroundImage: "-moz-linear-gradient(top, black, white)"
});

});

HTML

<div id="myElement">testing</div>
落花随流水 2024-12-10 13:07:28

新旧 webkit 版本之间可能存在一些差异:

如何在同一个元素上组合背景图像和 CSS3 渐变?

我得到了一个使用以下内容的小示例:

$(function(){
    $("#myElement").css("background-image", "-webkit-linear-gradient(top, #000000, #ffffff)");
    $("#myElement").css("background-image", "-moz-linear-gradient(top, black, white)");
});

这里有一个小提琴:

http://jsfiddle.net/Hmmpd/1/

编辑:

奇怪,使用css“地图”版本的 css 在 Firefox 中工作,但在我的 Chrome 版本中不行。即以下内容适用于 Firefox 但不适用于 chrome:

$(function(){
    $("#myElement").css({backgroundImage: "-webkit-linear-gradient(top, #000000,#ffffff)",backgroundImage: "-moz-linear-gradient(top, black, white)"});
});

There may be some difference between newer and older webkit versions:

How do I combine a background-image and CSS3 gradient on the same element?

I got a little sample working with the following:

$(function(){
    $("#myElement").css("background-image", "-webkit-linear-gradient(top, #000000, #ffffff)");
    $("#myElement").css("background-image", "-moz-linear-gradient(top, black, white)");
});

here's a fiddle:

http://jsfiddle.net/Hmmpd/1/

Edit:

Odd, using the css "map" version of css work in Firefox but not my version of Chrome. I.e. the following works for me in firefox but not chrome:

$(function(){
    $("#myElement").css({backgroundImage: "-webkit-linear-gradient(top, #000000,#ffffff)",backgroundImage: "-moz-linear-gradient(top, black, white)"});
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文