编辑以下内容出于其他原因很有用,但实际上,我认为它对 OP 知道是使用 WebKit 还是 Firefox 符号的问题没有帮助!(Doh) 它有助于了解渐变是否可以使用。
再次编辑但是!查看 Modernizr 源代码向我们展示了如何通过功能测试来做到这一点(他们很聪明,这些人)。您可能可以通过自己查看源代码来弄清楚,但这里有一个快速组合的示例:
function testGradientSyntax() {
var element;
element = document.createElement("testsyntax");
element.style.cssText =
"background: -webkit-gradient(radial, 45 45, 10, 52 50, 30, from(#A7D30C), to(rgba(1,159,98,0)), color-stop(90%, #019F62))";
if (element.style.background.indexOf("-webkit") >= 0) {
// It's WebKit syntax
log("This supports WebKit syntax");
}
else {
// It's not WebKit syntax
log("This doesn't support WebKit syntax");
}
}
您可能想为此使用Modernizr。它会检测相关语法,并为您提供一种方法来使用具有两种语法的单个 CSS 文件。
文档中的示例渐变代码:
button.glossy {
background: #ccc url(gloss.png) 50% 50% repeat-x;
}
.cssgradients button.glossy {
background: #ccc -webkit-gradient(linear, left top, left bottom,
from(rgba(255,255,255, .4)),
color-stop(0.5, rgba(255,255,255, .7)),
color-stop(0.5, rgba(0,0,0, .2)),
to(rgba(0,0,0, .1)));
}
.cssgradients button.glossy:hover {
background-color: #fff;
}
(编辑在上面,我从.cssgradients button.glossy
规则末尾删除了一行,在我看来就像文档中的错误。)
看到那.cssgradients
堂课了吗?当您运行 Modernizr 时,它会检测这是否是相关语法,如果是,则将类添加到您的html
元素中,这会打开后代选择器.cssgradients button.glossy
以便应用该规则。
遗憾的是,这一切都依赖于启用了 Javascript 的浏览器。