벤더 프리픽스..? 처음 들어보는데 뭐지?
일단 TCP스쿨에 써있는 개념을 잠깐 살펴보자 !
벤더 프리픽스(vendor prefix)란 이러한 주요 웹 브라우저 공급자가 새로운 실험적인 기능을 제공할 때 이전 버전의 웹 브라우저에 그 사실을 알려주기 위해 사용하는 접두사(prefix)를 의미합니다.
즉 아직 CSS 권고안에 포함되지 못한 기능이나, CSS 권고안에는 포함되어 있지만 아직 완벽하게 제정된 상태가 아닌 기능을 사용하고자 할 때 벤더 프리픽스를 사용하게 됩니다.
그렇게 하면 해당 기능이 포함되어 있지 않은 이전 버전의 웹 브라우저에서도 그 기능을 사용할 수 있게 됩니다
응..응.... 웹..브라우저가 .. 또 문제라는거지? 그런거지? 뭐라는거야..?
💢 그래서 벤더 프리픽스가 뭔데?
웹 관련 기술들은 계속 보완되면서 발전중이다.
그런데 이 웹! 이라는 게 쓰는 사람들이 있다보니깐,,,갑자기 확! 모든걸 바꿀 수가 없다는 특징이 있다.
예를 들어 내가 마요브라우저 버전1을 사용 중인데 버전2에서만 쓸 수 있는 기술이 생기면?
2만 지원하는 기술이 생기면? 1을 쓰는 나는... 버려지는건가 ?
ㄴㄴ 아니다.
벤더 프리픽스 때문이구나!
ㅇㅇ 맞음
자 다시. 프리픽스란.
이전 버전의 웹 브라우저에 그 사실을 알려주기 위해 사용하는 접두사(prefix)를 의미합니다
즉, 이전 버전의 웹 브라우저에게 아직 완벽하지 않은 기능을 알려주면서 사용하게 하는 것.
알려주면서 사용하게 하는 것. !!! 오..
브라우저별로 다양한 형태의 벤더 프리픽스가 존재한다.
모양이 다 다름.
<style>
.button {
background: red; <!-- gradient 속성을 지원하지 않는 모든 브라우저를 위한 코드 -->
background: -webkit-linear-gradient(red, yellow); <!-- 크롬과 사파리 4.0 이상을 위한 코드 -->
background: -moz-linear-gradient(red, yellow); <!-- 파이어폭스 3.6 이상을 위한 코드 -->
background: -ms-linear-gradient(red, yellow); <!-- 익스플로러 10.0 이상을 위한 코드 -->
background: -o-linear-gradient(red, yellow); <!-- 오페라 10.0 이상을 위한 코드 -->
background: linear-gradient(red, yellow); <!-- CSS 표준 문법 코드 -->
}
</style>
CSS 표준 문법 코드는 벤더 프리픽스(vendor prefix)로 작성된 코드가 모두 나오고 난 후에 나와야만, 벤더 프리픽스가 포함된 코드가 정상적으로 동작할 수 있다. 먼저 알려주고. 그 다음에 우리가 작성된 CSS가 나오는 원리겠지..?
이런 벤더 프리픽스는 권고안에 포함되어지거나 완벽하게 제정되면 사용할 필요가 없어진다.
벤더 프리픽스가 주로 사용되는 속성들에는 변형(Transform), 변환(Transition), 애니메이션(Animation), 그라데이션(Gradient) 등 사용 빈도가 낮은 속성들이 있다.
그럼 이걸 우리가 다 외워서 작성하느냐? ㄴㄴ 아님.
https://autoprefixer.github.io/
Autoprefixer CSS online
include comment with configuration to the result Select result You can also see which browsers you choose by filter string on browsersl.ist Autoprefixer online — web repl for original Autoprefixer. It parses your CSS and adds vendor prefixes to CSS rules
autoprefixer.github.io
이 사이트를 이용하면 벤더 프리픽스가 붙은 css를 반환해준다. 유용! VSC에 플러그인도 있음
reference
'TIL' 카테고리의 다른 글
CSR(Client Side Rendering)과 SSR(Server Side Rendering) 공부 일지 (0) | 2022.09.22 |
---|---|
함수 표현식 vs 함수 선언문 (0) | 2022.09.13 |
브라우저별 스타일 잠깐 멈촤! RESET CSS / Normalize (2) | 2022.09.08 |
서로가 믿을 수 있게! TCP 3 way handshake (2) | 2022.09.06 |
[css] width 속성의 초기값은 auto, 그 의미는? (0) | 2022.09.03 |