편집 아래의 내용은 다른 이유로 유용하지만, 실제로 웹킷이나 파이어 폭스 symtax를 사용할지 여부를 알 수있는 OP 문제에 도움이된다고 생각하지 않습니다! (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
이 켜져 규칙이 적용됩니다.
이것은 슬프게도 자바 스크립트를 사용하는 브라우저에 따라 다릅니다.
감사합니다 T.J., Modernizer가 티켓이었습니다. 그것은 내가 성취해야 할 것을 정확히하지는 않았지만, 내가 필요한 것을 얻기 위해 나를 올바른 방향으로 밀었습니다. –
@Scott Christopherson : 좋은 거래, 도움이 기쁩니다.제 생각에는 당신이 Modernizr을보고 있었을 때 소스를 들여다 테스트하는 방법을 보았을 것입니다. 그래서 업데이트가 너무 늦을 지 모르지만 WebKit 구문에 대한 기능 테스트를 보여주는 업데이트를 추가했습니다. '-moz'와 같은 개념을 적용 할 수 있습니다. –
모더 나이저를 게시 한 지 얼마되지 않아, 그라디언트 섹션을 찾기 위해 소스를 탐색하고 크롤링했습니다. –