Eventually, I wish to dynamically alter gradients based on different things, but how do I get jquery to apply a css3 gradient?
//works
$(element).css(\"bac
Here is a small piece of example...
$("p").css({background:'linear-gradient(red,blue,red)'});
Another optionis to use the jQuery addClass method. This allows you to dynamically add and remove classes and therefore any formatting associated with that class including gradients.
When using .css() in jquery, I believe you have to use the shortened versions of the attributes. For example, margin-left would be marginLeft
$(element).css("backgroundImage","-webkit-gradient(linear,left bottom,right bottom,color-stop(0.50, rgb(194,231,255)),color-stop(0.50, rgb(255,255,255))");
I'm using the hyphenated syntax in the JSON format (I always use the JSON format to be consistent). And it's working fine in both Chrome and Firefox.
For example:
$("#googleFeed div:even").css({
'background':'-webkit-linear-gradient(top,white,black)',
});
try this
<div class="mygradient" />
$( '.mygradient' ).css(
"background-image",
"linear-gradient( to right, #dc8a8a 50%, red 10% )"
);
Your second approach looks OK... Maybe you need to css styles for non-webkit browsers as well... Cross-Browser CSS Gradient
This works for me in Chrome
$('#block').css({
background: "-webkit-gradient(linear, left top, left bottom, from(#ccc), to(#000))"
});
Also have a look at: http://www.colorzilla.com/gradient-editor/