如何检测css特性
如果我们要检测一个css属性是否支持
var dom = document.createElement('p');if ('textShadow' in dom.style) { alert('支持textShadow属性')}else { alert('不支持textShadow属性')}
如果我们要检测该css3属性是否支持某值
var dom = document.createElement('p');dom.style.backgroundImage = 'linear-gradient(red, tan)';if (dom.style.backgroundImage) { alert('支持该属性值');}else { alert('浏览器不支持该属性值')}
如何动态赋值一个css3效果,并支持所有主流浏览器
function iSlider() {};/** * @returns {String} * @private */iSlider.TRANSITION_END_EVENT = null;iSlider.BROWSER_PREFIX = null;(function () { var e = document.createElement('fakeElement'); [ ['WebkitTransition', 'webkitTransitionEnd', 'webkit'], ['transition', 'transitionend', null], ['MozTransition', 'transitionend', 'moz'], ['OTransition', 'oTransitionEnd', 'o'] ].some(function (t) { if (e.style[t[0]] !== undefined) { iSlider.TRANSITION_END_EVENT = t[1]; iSlider.BROWSER_PREFIX = t[2]; return true; } });})();/** * @param {String} prop * @param {String} value * @returns {String} * @public */iSlider.styleProp = function (prop, isDP) { if (iSlider.BROWSER_PREFIX) { if (!!isDP) { return iSlider.BROWSER_PREFIX + IU(prop); } else { return '-' + iSlider.BROWSER_PREFIX + '-' + prop; } } else { return prop; }};/** * @param {String} prop * @param {HTMLElement} dom * @param {String} value * @public */iSlider.setStyle = function (dom, prop, value) { dom.style[iSlider.styleProp(prop, 1)] = value;};/** * @type {Object} * * @param {HTMLElement} dom The wrapper