웹 마스터가 접두사가 아닌 버전을 사용하도록하는 대신 브라우저가 새로운 CSS 기능을 접두사로 사용해야하는 정당한 이유가 있습니까?
예를 들어 배경 그라데이션 의 샘플 코드 는 다음과 같습니다.
#arbitrary-stops {
/* fallback DIY*/
/* Safari 4-5, Chrome 1-9 */
background: -webkit-gradient(linear, left top, right top, from(#2F2727), color-stop(0.05, #1a82f7), color-stop(0.5, #2F2727), color-stop(0.95, #1a82f7), to(#2F2727));
/* Safari 5.1+, Chrome 10+ */
background: -webkit-linear-gradient(left, #2F2727, #1a82f7 5%, #2F2727, #1a82f7 95%, #2F2727);
/* Firefox 3.6+ */
background: -moz-linear-gradient(left, #2F2727, #1a82f7 5%, #2F2727, #1a82f7 95%, #2F2727);
/* IE 10 */
background: -ms-linear-gradient(left, #2F2727, #1a82f7 5%, #2F2727, #1a82f7 95%, #2F2727);
/* Opera 11.10+ */
background: -o-linear-gradient(left, #2F2727, #1a82f7 5%, #2F2727, #1a82f7 95%, #2F2727);
}
웹 마스터가 동일한 코드를 4 번 복사하여 붙여 넣어 동일한 결과를 얻는 것이 요점은 무엇입니까?
참고 : 종종 인용되는 이유 중 하나는 접두사 가 붙은 스타일이 일시적인 것으로 브라우저가 사양을 올바르게 구현하지 않거나 사양이 확정적이지 않기 때문 입니다.
IMO,이 이유는 말도 안됩니다.
- 브라우저 엔진이 사양을 올바르게 구현하지 않으면 브라우저가 접두사 형식으로 구현되지 않거나 접두사 형식으로 구현하지 않더라도 브라우저는 호환되지 않습니다.
- 스펙이 확정적이지 않은 경우, 동일한 이름을 가진 이전 구현이있을 때 중요 할 수 있습니다. 예를 들어 CSS2가
linear-gradient
있지만 CSS3이linear-gradient
추가 기능 으로 확장되도록 의도 된-css3-<style>
경우 작동하는 CSS2와 실험 CSS3을 구분하여 새로운 초안, 구현을 임시 접두사로 사용하는 것이 영리합니다 . 실제로 CSS2에는linear-gradient
다른 CSS3 참신 이 없습니다 .
브라우저마다 다른 구현 형식이 있는지 이해합니다 . 예를 들어 Firefox는 텍스트 그림자에 <weight-of-shadow distance-x distance-y color>
필요하지만 Chrome에는 필요합니다 <distance-x distance-y weight-of-shadow color>
. 그러나 실제로는 그렇지 않습니다. 지금까지 사용한 CSS3의 모든 새로운 기능은 동일한 형식이었습니다.
If the browser engine does not implement the spec correctly, the browser will not be compliant
-Real World. ™에 오신 것을 환영합니다