-
좋아요
지금쯤 여러분은
-
'setInterval'을 쓸 지
-
'requestAnimationFrame'
을 쓸 지 고민이 될 거에요
-
여러분이
효과를 주고 싶을 때요
-
하지만 전
더 나아가서
-
다른 선택지를
제시할게요
-
크롬, 파이어폭스와
익스플로러 10 이상에서는
-
CSS로 효과를 주는
다른 방법이 있어요
-
자바스크립트를
사용하지 않고 말이죠
-
방금 쓴 코드를
주석 처리하고
-
ohnoes 효과를
적용해 볼게요
-
여기 전체를
주석 처리할게요
-
태그를
추가하는 걸로 시작해보죠
-
그리고 CSS 규칙같은 걸
추가할거에요
-
하지만 사실 이건
효과를 정의하는 것이죠
-
여기에
'@keyframes'을 쓰고
-
효과의 이름을
쓰세요
-
'getbigger'
-
그리고
중괄호를 닫아요
-
이 간단한 효과를
주기 위해서는
-
한 상태에서
다른 상태로 전환시킬 때요
-
이걸 시작(from)과
종료(to)상태라고 할게요
-
시작상태(from)
안에는
-
시작 CSS 속성에 대해
적어주면 돼요
-
처음에 50픽셀로
정했던 것 기억나죠?
-
종료상태(to)
안에는
-
종료 속성에 대해
적어주면 돼요
-
이건 아마 300픽셀 정도
였을거에요
-
기억나시죠?
-
이제 효과를
정의했으니까
-
브라우저에게
말해줘야해요
-
어떤 요소에
이 효과를 적용할 지 말이죠
-
그래서 ohnoes에게
일반적인 CSS규칙을 줄 거에요
-
이 안에서는
효과 이름을 정해주고
-
그러니까
'getbigger'죠
-
효과 지속시간을
정해줘요
-
3초 겠네요
-
여러분이 사용하는
브라우저에 따라서
-
이렇게 생각하고
있을지도 몰라요
-
우와 멋져요
작동하네요!
-
하지만
다른 브라우저에서는
-
사파리나
크롬에서는 말이죠
-
작동하지
않을 수도 있어요
-
그건 '브라우저 접두어'
(vendor prefix) 때문이에요
-
종종
브라우저는
-
멋진 새 기능을
도입하기로 하는데
-
하지만 그 기능에
접두어를 붙여서
-
이건 나중에 바뀔 수도 있다고
표시해 주는 거에요
-
이건 그냥
그 브라우저의
-
그 기능에 대한
접근일 뿐이에요
-
크롬에서
작동하게 하려면
-
만약 아직 기능이
준비가 되지 않았다면
-
우리가 방금 했던 걸
복사해서
-
앞에 'webkit'을
추가해줘야 해요
-
그러니까
이 부분을 똑같이 쓰고
-
'-webkit-'을
여기다 쓰세요
-
그리고 여기도 또 쓰고
'-webkit-'을 붙이세요
-
우와
멋져요!
-
이제 모든 브라우저에서
커지게 될 거에요
-
여러분이 이 영상을
볼 때 쯤이면
-
브라우저 접두어를
안 써도 됐으면 좋겠네요
-
하지만 이런 게 있다는 걸
알고있으면 좋아요
-
다음에 이걸 언젠가
써야할 때가 올 지도 모르니까요
-
CSS로 효과를 주는 방법이
또 한가지 더 있어요
-
이건 전환 속성을
사용하는 거에요
-
브라우저가 부드럽게
전환을 할 수있게 해줘요
-
한 속성에서
다음 속성으로요
-
예를 들어
글자 크기를
-
남은 시간에 따라
커지게 하고 싶다고 해요
-
마우스 포인터를
위에 올릴 때 말이죠
-
이걸 자바스크립트로
할 수 있어요
-
마우스 오버에 대한
이벤트를 주는 걸로요
-
그리고 requestAnimationFrame
을 사용해서
-
매번 글자 크기 속성을
증가시켜주는 거에요
-
하지만 이걸
CSS만으로도 할 수 있어요
-
생각해봐요
-
일반적으로
글자 크기를 어떻게 키우죠?
-
CSS에서 마우스를
올렸을 때 말이죠
-
이건 호버(hover)를
사용하면 할 수 있어요
-
'#countdown: hover'
라고 쓰고
-
'font-size: 150px;'
라고 해요
-
좋아요
이제 우리는 브라우저에게
-
글자 크기 속성을
전환시키고
-
전환이 얼마 동안
일어나야 하는지 말해줘야해요
-
그리고 어떤
시간 함수를 쓸 지도요
-
'transition: font-size 1s linear'
라고 쓰고
-
이제 이 프로그램을
멈추고
-
마우스를 올리고
어떻게 되나 보세요
-
크롬, 파이어폭스나
익스플로러 10 이상을 쓴다면
-
이건 천천히
커지게 될 거에요
-
이 방식을 쓰면
브라우저 접두어는 필요없어요
-
여러분이 할 수 있는
수많은 것들이 있어요
-
CSS효과와 전환을
사용해서 말이죠
-
그리고 브라우저는 빠르게
효과를 잘 만들어 줘요
-
그러니까 두 가지 모두
많이 찾아보길 바래요