我希望能够确定浏览器是否支持HSL颜色,如果不支持,则希望使用生成的RGB颜色(我已有生成的颜色)。有没有办法在不实际检查用户使用的浏览器的情况下完成这一点?
#element{
background: rgb(255, 10, 25);
background: hsl(240, 100%, 50%);
}
function supportsHSLA() {
var style = createElement('a').style
style.cssText = 'background-color:hsla(120,40%,100%,.5)'
return style.backgroundColor.indexOf('rgba') > -1 ||
style.backgroundColor.indexOf('hsla') > -1
})
如果你担心浏览器的支持情况,但又希望使用HSL更容易生成颜色,可以考虑在业务逻辑中使用HSL,但在将颜色应用于DOM元素时将其转换为RGB。
另请参见以下问题:
HSL转RGB颜色转换