UNPKG

modernizr

Version:

Modernizr is a JavaScript library that detects HTML5 and CSS3 features in the user’s browser.

44 lines (38 loc) 1.4 kB
/*! { "name": "CSS Gradients", "caniuse": "css-gradients", "property": "cssgradients", "tags": ["css"], "notes": [{ "name": "Webkit Gradient Syntax", "href": "http://webkit.org/blog/175/introducing-css-gradients/" },{ "name": "Mozilla Linear Gradient Syntax", "href": "http://developer.mozilla.org/en/CSS/-moz-linear-gradient" },{ "name": "Mozilla Radial Gradient Syntax", "href": "http://developer.mozilla.org/en/CSS/-moz-radial-gradient" },{ "name": "W3C Gradient Spec", "href": "dev.w3.org/csswg/css3-images/#gradients-" }] } !*/ define(['Modernizr', 'prefixes', 'createElement'], function( Modernizr, prefixes, createElement ) { Modernizr.addTest('cssgradients', function() { var str1 = 'background-image:'; var str2 = 'gradient(linear,left top,right bottom,from(#9f9),to(white));'; var str3 = 'linear-gradient(left top,#9f9, white);'; var css = // legacy webkit syntax (FIXME: remove when syntax not in use anymore) (str1 + '-webkit- '.split(' ').join(str2 + str1) + // standard syntax // trailing 'background-image:' prefixes.join(str3 + str1)).slice(0, -str1.length); var elem = createElement('div'); var style = elem.style; style.cssText = css; // IE6 returns undefined so cast to string return ('' + style.backgroundImage).indexOf('gradient') > -1; }); });