編輯以下是有用的其他原因,但事實上,我不認爲這有助於OP的問題知道是否使用WebKit或Firefox的symtax! (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這一點。它檢測到relevant syntax,併爲您提供一種使用兩種語法使用單個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的瀏覽器。
感謝T.J.,Modernizer是門票。它並沒有完成我需要完成的任務,但它讓我朝着正確的方向前進,從而獲得我所需要的東西。 – 2010-05-22 08:14:04
@斯科特克里斯托弗森:很好,這很有幫助。我認爲在查看源代碼的同時,我一定在看Modernizr,看看他們是如何進行測試的,所以我的更新可能爲時已晚,但我添加了一個更新,顯示WebKit語法的功能測試。同樣的概念可以應用於'-moz'等。 – 2010-05-22 08:33:23
哈哈耶不久後你張貼Modernizer我去爬過它的源找到漸變部分。 – 2010-05-22 09:04:14