SlideShare a Scribd company logo
CSS Animation
-적용 방법과 활용-
13년 5월 16일 목요일
(현) 미래웹 기술 연구소 선임 연구원
Web Frontend Developer
UI 개발 및 ExtJS, SenchaTouch 연구 개발..
발표자 - 김양귀
13년 5월 16일 목요일
목차
CSS 속성
만드는 방법
Tip!
CSS Animation
13년 5월 16일 목요일
CSS Animation ?
13년 5월 16일 목요일
CSS 속성으로 만든 Animation
13년 5월 16일 목요일
Animation?
예제로 살펴보자!
Animated Menus
Animated Tabs
13년 5월 16일 목요일
CSS 외에 다른 Animation 웹기술?
13년 5월 16일 목요일
Canvas
SVG
WebGL
Javascript
Silverlight
Flash
CSS 외에 다른 Animation 웹기술?
13년 5월 16일 목요일
CSS Animation 의 특징
13년 5월 16일 목요일
순수 표준 웹 기술
HTML 친화적
CSS 수정만으로 적용가능!
구현 방법이 쉽다.
CSS Animation 의 특징
13년 5월 16일 목요일
CSS Animation 응용 사이트
13년 5월 16일 목요일
CSS Animation 응용 사이트
www.apple.com/iphone
www.designtheplanet.com
www.parc-amazonien-guyane.fr/
13년 5월 16일 목요일
CSS 속성
13년 5월 16일 목요일
Animation 을 만드는 CSS 속성
13년 5월 16일 목요일
Animation 을 만드는 CSS 속성
Transition
Animation
13년 5월 16일 목요일
Animation 을 만드는 CSS 속성
Animation
Transition
2 State Animation
left: 0px left: 50px; rotate(45);
13년 5월 16일 목요일
Animation
Example - Transition
13년 5월 16일 목요일
Animation
Animation 을 만드는 CSS 속성
Transition
transition-delay
transition-duration
transition-property
transition-timing-function
CSS Code
div#aniBox {
}
: 0.5s;
: 2s;
: transform;
: ease;
transition : transform 2s ease 1s;
div#aniBox {
}
2 State Animation
https://developer.mozilla.org/en-US/docs/CSS/Tutorials/Using_CSS_transitions자세한 내용은 여기서!
13년 5월 16일 목요일
Animation 을 만드는 CSS 속성
Animation
Transition
2 State Animation
timing-function : Animation 의 속도 변화를 결정!
linear ease ease-in ease-out
step-start
cubic-bezier(0.1, 0.7, 1.0, 0.1)
step-end steps(4, end)
ease-in-out
13년 5월 16일 목요일
Animation 을 만드는 CSS 속성
Animation
Transition
2 State Animation
timing-function : Animation 의 속도 변화를 결정!
linear ease ease-in ease-out
아직 와닿지 않는다. 더 자세히 살펴보자!
http://cubic-bezier.com/
13년 5월 16일 목요일
Transition
Animation 을 만드는 CSS 속성
Animation
Multiple States
13년 5월 16일 목요일
Animation 을 만드는 CSS 속성
Animation
Multiple States
Transition
from { top: 0; left: 0;}
CSS Code
@keyframes
}
moveBox {
25% { top: 200px; left: 0; }
50% { top: 200px; left: 200px; }
75% { top: 0; left: 200px;}
to { left: 500px; top: 400px;}
13년 5월 16일 목요일
Transition
Animation 을 만드는 CSS 속성
Animation
Multiple States
CSS Code
animation-name
animation-duration
animation-timing-function
animation-delay
div#aniBox {
}
: moveBox;
: 4s;
: linear;
: 0.5s;
animation-iteration-count
animation-direction
: infinite;
: normal;
from { top: 0; left: 0;}
@keyframes
25% { top: 200px; left: 0; }
50% { top: 200px; left: 200px; }
75% { top: 0; left: 200px;}
to { left: 500px; top: 400px;}
moveBox {
}
animation
div#aniBox {
: moveBox 4s linear 0.5s infinite
}
https://developer.mozilla.org/ko/docs/CSS/Using_CSS_animations자세한 내용은 여기서!
13년 5월 16일 목요일
Transition
Animation 을 만드는 CSS 속성
Animation
Multiple States
animation-direction : Animation 재생 방향을 결정
예제로 살펴보자!
http://jsbin.com/ehicim/17/edit
13년 5월 16일 목요일
Example - Animation
13년 5월 16일 목요일
Animation 을 만드는 CSS 속성
Transition
Animation
Browser Support
출처 : http://caniuse.com
13년 5월 16일 목요일
Animation 을 만드는 CSS 속성
Animation
Browser Support
출처 : http://caniuse.com
13년 5월 16일 목요일
CSS Animation 에 자주 사용되는 속성
13년 5월 16일 목요일
CSS Animation 에 자주 사용되는 속성
Transform
left & top
width & height
opacity
13년 5월 16일 목요일
CSS Animation 에 자주 사용되는 속성
translate
scale
rotate
skew
Transform
13년 5월 16일 목요일
CSS Animation 에 자주 사용되는 속성
matrix
transform: matrix(1.0, 2.0, 3.0, 4.0, 5.0, 6.0)
transform: matrix3d(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 8.0, 7.0, 3.0, 4.0, 8.0, 9.0, 3.0)
translate
transform: translate(12px, 50%)
transform: translateX(2em)
transform: translateY(3in)
transform: translate3d(12px, 50%, 3em)
transform: translateZ(2px)
scale
transform: scale(2, 0.5)
transform: scaleX(2)
transform: scaleY(0.5)
transform: scale3d(2.5, 1.2, 0.3)
transform: scaleZ(0.3)
rotate
transform: rotate(0.5turn)
transform: rotate3d(1, 2.0, 3.0, 10deg)
transform: rotateX(10deg)
transform: rotateY(10deg)
transform: rotateZ(10deg)
skew
transform: skewX(30deg)
transform: skewY(1.07rad)
https://developer.mozilla.org/ko/docs/CSS/transform
Transform
자세한 내용은 여기서!
13년 5월 16일 목요일
Animation 을 만드는 CSS 속성
Animation
Browser Support - Transform
출처 : http://caniuse.com
Transform
13년 5월 16일 목요일
Animation 을 만드는 CSS 속성
Animation
Browser Support - 3D Transform
출처 : http://caniuse.com
Transform
13년 5월 16일 목요일
Transform 을 활용한 예제
13년 5월 16일 목요일
Transform 을 활용한 예제
Clock
Flipboard Page
3D Gallery
13년 5월 16일 목요일
CSS Animation 을 만드는 방법
13년 5월 16일 목요일
CSS Animation 을 만드는 방법
Only CSS with Javascript
13년 5월 16일 목요일
CSS Animation 을 만드는 방법
가상 클래스(pseudo-classes) 활용
background-color: blue;
.myButton :hover {
}
.myButton :active {
}
transform: scale(0.8, 0.8);
.myButton {
background-color: skyblue;
}
transition: background 0.5s transform 0.5s;
example-button
Only CSS with Javascript
13년 5월 16일 목요일
CSS Animation 을 만드는 방법
요소가 렌더링된 후 바로 재생
animation: bounce 1.5s infinite alternate;
.bounce {
}
@keyframes bounce {
}
from { top: 400px; }
example-bounce
to { top: 100px; }
...
Only CSS with Javascript
13년 5월 16일 목요일
CSS Animation 을 만드는 방법
장점
CSS 만으로 깔끔하게 정리
단점
가상클래스의 한계 (일부 요소에만 적용 가능)
다양한 사용자의 이벤트에 대응 불가
Only CSS with Javascript
적용대상
발생 가능한 이벤트가 간단한 요소
정해진 규칙대로 재생되는 애니메이션
쉽다!
13년 5월 16일 목요일
CSS Animation 을 만드는 방법
Only CSS with Javascript
CSS Class 조작
$(‘#moveButton’).click(function() {
$(‘#aniBox’).addClass(‘move’);
});
@keyframes moveBox {
....
}
#aniBox.move {
animation: moveBox 4s;
}
example-MoveBox
13년 5월 16일 목요일
CSS Animation 을 만드는 방법
Only CSS with Javascript
Inline style 조작
$(‘#title’).css({
transition: ‘opacity 1s‘
opacity: 1
});
#title {
opacity: 0;
}
example-TitleFadeInOut
13년 5월 16일 목요일
CSS Animation 을 만드는 방법
Only CSS with Javascript
다양한 Animation Event 활용
animationstart
animationend
animationiteration
transitionend
https://developer.mozilla.org/ko/docs/DOM/AnimationEvent
자세한 내용은 여기서!
https://developer.mozilla.org/en-US/docs/DOM/Mozilla_event_reference/transitionend
13년 5월 16일 목요일
CSS Animation 을 만드는 방법
Only CSS with Javascript
장점
다양한 사용자 이벤트에 대한 처리 가능
단점
CSS 와의 애매한 분리
적용대상
다양한 사용자 이벤트에 반응해야 하는 UI Component
복잡한 애니메이션 적용 가능
다소 복잡한 애니메이션
13년 5월 16일 목요일
나의 경험에서 우려내는 Tip!
13년 5월 16일 목요일
성능 개선 작업 편의성 브라우저 호환
나의 경험에서 우려내는 Tip!
13년 5월 16일 목요일
나의 경험에서 우려내는 Tip!
타겟 브라우저의 하드웨어 가속 지원 요소를 반드시 확인!
같은 역할은 하는 요소간 성능 비교
동시에 재생되는 Animation 수
요소의 컨텐츠 양 (이미지, 텍스트)
Effect 가 많이 적용된 요소
성능 저하 유발 요인
성능 향상을 위한 준비 작업
애니메이션 시나리오 확인
성능 개선 작업 편의성 브라우저 호환
13년 5월 16일 목요일
나의 경험에서 우려내는 Tip!
자주 사용되는 Animation 패턴 메서드화
Animation Lock 기능
Animation Event 처리 기능
Vendor prefix 자동 추가 기능
대상 Element 에 inline 스타일을 적용 기능
Animation Helper API 를 사용하자
이외 필요한 여러가지 기능들..
성능 개선 작업 편의성 브라우저 호환
Transit (jQuery PlugIn)참고
13년 5월 16일 목요일
나의 경험에서 우려내는 Tip!
성능 개선 작업 편의성 브라우저 호환
다양한 툴을 이용하자!
http://cubic-bezier.com/
http://leaverou.github.io/animatable/
http://leaverou.github.io/prefixfree/
http://prefixmycss.com/
http://lab.hakim.se/scroll-effects/
http://daneden.me/animate/
http://easings.net/
13년 5월 16일 목요일
나의 경험에서 우려내는 Tip!
Javascirpt Animation 으로대체
성능 개선 작업 편의성 브라우저 호환
Animation 속성을 지원하지 않을 때
Animation 속성별로 성능 차이가 날 때
Animation 대신 일반 CSS 적용
Animation 차별화
13년 5월 16일 목요일
정리
13년 5월 16일 목요일
정리
CSS Animation
transition, animation 속성으로 만든 animation
CSS 속성
translate, keyframes, animation, transform, opacity ...
만드는 방법
OnlyCSS - 가상 선택자 활용, 요소 렌더링 후 바로 적용
Javascript 활용 - CSS Class 변경, inline 스타일 변경
Tip!
성능 고려!
작업 능률!
브라우저 호환!
13년 5월 16일 목요일
- Q&A -
감사합니다 !!
김양귀
email : yanggui@w3labs.kr
tweeter : @kingearlast
13년 5월 16일 목요일

More Related Content

PDF
[별천지 세미나] HTML5 is Ready: Fastbook 기술적 분석
PDF
[별천지 세미나] 세션1 Sencha로 끝장내는 Front-End 개발과 Architect
PDF
JavaScript 프레임워크 살펴보기
PDF
HTML5 관점에서 2015년 웹 앱 개발 동향과 사례 및 2016년 발전 방향 저...
PDF
JavaScript 2014 프론트엔드 기술 리뷰
PDF
HTML5 & Hybrid App Trends
PDF
모바일 웹앱 프로그래밍 과정
PDF
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유
[별천지 세미나] HTML5 is Ready: Fastbook 기술적 분석
[별천지 세미나] 세션1 Sencha로 끝장내는 Front-End 개발과 Architect
JavaScript 프레임워크 살펴보기
HTML5 관점에서 2015년 웹 앱 개발 동향과 사례 및 2016년 발전 방향 저...
JavaScript 2014 프론트엔드 기술 리뷰
HTML5 & Hybrid App Trends
모바일 웹앱 프로그래밍 과정
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유

What's hot (20)

PPTX
Single-page Application
PDF
크로스브라우징
PPTX
웹-프론트엔드 프레임워크를 고르기 위한 팁
PDF
Web Framework (웹 프레임워크)
PDF
Next Javascript ES2015 시작하기
PDF
미래웹기술연구소는 왜 Sencha 를 채택하였는가?
PDF
JavaScript로 오픈소스를 해보자. bsJS
PDF
원모먼트 Vue js 적용기
PDF
구글 인박스 히드라 프로그래밍
PDF
비동기와 이벤트큐 수업자료
PPTX
위플래닛 발표자료 Meteor_js
PDF
웹 디자이너의 도전: Vue.js 따라하기
PPTX
How_to_choose_the_right_framework
PPTX
퍼블리셔, 프론트엔드개발을 시작하다
PDF
코드스쿼드 마스터즈세미나 - UI개발자가돼보자
PDF
개발자를 위한 웹표준 & 웹접근성이야기
PDF
NAVER 오픈세미나 대구 (2014.08.01) - 오픈소스 라이브러리를 활용한 네이티브 어플리케이션의 데이터 저장과 통신
PDF
HTML5로 만드는 데스크탑 어플리케이션 (Node-Webkit)
PPTX
PHP Slim Framework with Angular
PDF
비 개발자를 위한 웹 개발 기초
Single-page Application
크로스브라우징
웹-프론트엔드 프레임워크를 고르기 위한 팁
Web Framework (웹 프레임워크)
Next Javascript ES2015 시작하기
미래웹기술연구소는 왜 Sencha 를 채택하였는가?
JavaScript로 오픈소스를 해보자. bsJS
원모먼트 Vue js 적용기
구글 인박스 히드라 프로그래밍
비동기와 이벤트큐 수업자료
위플래닛 발표자료 Meteor_js
웹 디자이너의 도전: Vue.js 따라하기
How_to_choose_the_right_framework
퍼블리셔, 프론트엔드개발을 시작하다
코드스쿼드 마스터즈세미나 - UI개발자가돼보자
개발자를 위한 웹표준 & 웹접근성이야기
NAVER 오픈세미나 대구 (2014.08.01) - 오픈소스 라이브러리를 활용한 네이티브 어플리케이션의 데이터 저장과 통신
HTML5로 만드는 데스크탑 어플리케이션 (Node-Webkit)
PHP Slim Framework with Angular
비 개발자를 위한 웹 개발 기초
Ad

Viewers also liked (20)

PDF
웹 Front-End 실무 이야기
PPTX
ES2015 훑어보기 for Django Girls Seoul
PDF
Es2015 Simple Overview
PDF
정오의 데이트 for iOS 코드 정리
PDF
git-faker 개발기
PPTX
프론트엔드 애니메이션의 정수
PPT
ECMAScript 6: A Better JavaScript for the Ambient Computing Era
PDF
Do you Promise?
PDF
모바일 무한 스크롤 개발
PDF
Report file on Web technology(html5 and css3)
PDF
W3C HTML5 Conference 2015 - NAVER 웹 기술 및 환경 전망
PDF
Resource Handling in Spring MVC
PDF
[D2 오픈세미나]5.html5 api 테트리스게임_이진권
PPTX
프론트엔드 개발자의 자바스크립트
PDF
Front end dev 2016 & beyond
PDF
[D2 오픈세미나]2.browser engine 이형욱_20140523
PDF
최전방 생존법 - 프론트엔드 개발자로 살아가기
PDF
자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해)
PDF
Arcus
PDF
[토크아이티] 프런트엔드 개발 시작하기 저자 특강
웹 Front-End 실무 이야기
ES2015 훑어보기 for Django Girls Seoul
Es2015 Simple Overview
정오의 데이트 for iOS 코드 정리
git-faker 개발기
프론트엔드 애니메이션의 정수
ECMAScript 6: A Better JavaScript for the Ambient Computing Era
Do you Promise?
모바일 무한 스크롤 개발
Report file on Web technology(html5 and css3)
W3C HTML5 Conference 2015 - NAVER 웹 기술 및 환경 전망
Resource Handling in Spring MVC
[D2 오픈세미나]5.html5 api 테트리스게임_이진권
프론트엔드 개발자의 자바스크립트
Front end dev 2016 & beyond
[D2 오픈세미나]2.browser engine 이형욱_20140523
최전방 생존법 - 프론트엔드 개발자로 살아가기
자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해)
Arcus
[토크아이티] 프런트엔드 개발 시작하기 저자 특강
Ad

Similar to [별천지 세미나] CSS3 Animation (20)

PDF
CSS Functions
PDF
[WEB UI BASIC] WEB Animation 2탄
PPTX
Css3 transforms
PDF
모바일웹Ui개발 저자세미나 1부
PDF
Web Animations 1.0 Overview
PDF
CSS3 Top10
PPTX
브라우저 렌더링 - Reflow와 Repaint 애니메이션 성능 비교
PDF
[122]네이버의모던웹라이브러리 박재성
PDF
시나브로 CSS3
PDF
소소하지만 재미있는 UX, 트랜지션과 애니메이션 (@UX월드/2014)
PDF
Improve CSS IR & Sprites Image Techniques for Accessibility
PDF
CSS3 천기누설
PDF
CSS3 Backgrounds
PPTX
고성능 애니메이션 개발 기법 및 성능 최적화
PDF
[DEVIEW 2016] 네이버의 모던 웹 라이브러리 - egjs
PDF
2011웹표준[04] 실전예제(네비게이션,버튼,박스,포지션)
PPTX
Hacosa j query 6th
PPTX
Hacosa j query 7th
PPTX
Html5 앱과 웹사이트를 보다 빠르게 하는 50가지
PDF
프론트엔드 개발자를 위한 Layer Model
CSS Functions
[WEB UI BASIC] WEB Animation 2탄
Css3 transforms
모바일웹Ui개발 저자세미나 1부
Web Animations 1.0 Overview
CSS3 Top10
브라우저 렌더링 - Reflow와 Repaint 애니메이션 성능 비교
[122]네이버의모던웹라이브러리 박재성
시나브로 CSS3
소소하지만 재미있는 UX, 트랜지션과 애니메이션 (@UX월드/2014)
Improve CSS IR & Sprites Image Techniques for Accessibility
CSS3 천기누설
CSS3 Backgrounds
고성능 애니메이션 개발 기법 및 성능 최적화
[DEVIEW 2016] 네이버의 모던 웹 라이브러리 - egjs
2011웹표준[04] 실전예제(네비게이션,버튼,박스,포지션)
Hacosa j query 6th
Hacosa j query 7th
Html5 앱과 웹사이트를 보다 빠르게 하는 50가지
프론트엔드 개발자를 위한 Layer Model

[별천지 세미나] CSS3 Animation

  • 1. CSS Animation -적용 방법과 활용- 13년 5월 16일 목요일
  • 2. (현) 미래웹 기술 연구소 선임 연구원 Web Frontend Developer UI 개발 및 ExtJS, SenchaTouch 연구 개발.. 발표자 - 김양귀 13년 5월 16일 목요일
  • 3. 목차 CSS 속성 만드는 방법 Tip! CSS Animation 13년 5월 16일 목요일
  • 4. CSS Animation ? 13년 5월 16일 목요일
  • 5. CSS 속성으로 만든 Animation 13년 5월 16일 목요일
  • 7. CSS 외에 다른 Animation 웹기술? 13년 5월 16일 목요일
  • 8. Canvas SVG WebGL Javascript Silverlight Flash CSS 외에 다른 Animation 웹기술? 13년 5월 16일 목요일
  • 9. CSS Animation 의 특징 13년 5월 16일 목요일
  • 10. 순수 표준 웹 기술 HTML 친화적 CSS 수정만으로 적용가능! 구현 방법이 쉽다. CSS Animation 의 특징 13년 5월 16일 목요일
  • 11. CSS Animation 응용 사이트 13년 5월 16일 목요일
  • 12. CSS Animation 응용 사이트 www.apple.com/iphone www.designtheplanet.com www.parc-amazonien-guyane.fr/ 13년 5월 16일 목요일
  • 13. CSS 속성 13년 5월 16일 목요일
  • 14. Animation 을 만드는 CSS 속성 13년 5월 16일 목요일
  • 15. Animation 을 만드는 CSS 속성 Transition Animation 13년 5월 16일 목요일
  • 16. Animation 을 만드는 CSS 속성 Animation Transition 2 State Animation left: 0px left: 50px; rotate(45); 13년 5월 16일 목요일
  • 17. Animation Example - Transition 13년 5월 16일 목요일
  • 18. Animation Animation 을 만드는 CSS 속성 Transition transition-delay transition-duration transition-property transition-timing-function CSS Code div#aniBox { } : 0.5s; : 2s; : transform; : ease; transition : transform 2s ease 1s; div#aniBox { } 2 State Animation https://developer.mozilla.org/en-US/docs/CSS/Tutorials/Using_CSS_transitions자세한 내용은 여기서! 13년 5월 16일 목요일
  • 19. Animation 을 만드는 CSS 속성 Animation Transition 2 State Animation timing-function : Animation 의 속도 변화를 결정! linear ease ease-in ease-out step-start cubic-bezier(0.1, 0.7, 1.0, 0.1) step-end steps(4, end) ease-in-out 13년 5월 16일 목요일
  • 20. Animation 을 만드는 CSS 속성 Animation Transition 2 State Animation timing-function : Animation 의 속도 변화를 결정! linear ease ease-in ease-out 아직 와닿지 않는다. 더 자세히 살펴보자! http://cubic-bezier.com/ 13년 5월 16일 목요일
  • 21. Transition Animation 을 만드는 CSS 속성 Animation Multiple States 13년 5월 16일 목요일
  • 22. Animation 을 만드는 CSS 속성 Animation Multiple States Transition from { top: 0; left: 0;} CSS Code @keyframes } moveBox { 25% { top: 200px; left: 0; } 50% { top: 200px; left: 200px; } 75% { top: 0; left: 200px;} to { left: 500px; top: 400px;} 13년 5월 16일 목요일
  • 23. Transition Animation 을 만드는 CSS 속성 Animation Multiple States CSS Code animation-name animation-duration animation-timing-function animation-delay div#aniBox { } : moveBox; : 4s; : linear; : 0.5s; animation-iteration-count animation-direction : infinite; : normal; from { top: 0; left: 0;} @keyframes 25% { top: 200px; left: 0; } 50% { top: 200px; left: 200px; } 75% { top: 0; left: 200px;} to { left: 500px; top: 400px;} moveBox { } animation div#aniBox { : moveBox 4s linear 0.5s infinite } https://developer.mozilla.org/ko/docs/CSS/Using_CSS_animations자세한 내용은 여기서! 13년 5월 16일 목요일
  • 24. Transition Animation 을 만드는 CSS 속성 Animation Multiple States animation-direction : Animation 재생 방향을 결정 예제로 살펴보자! http://jsbin.com/ehicim/17/edit 13년 5월 16일 목요일
  • 25. Example - Animation 13년 5월 16일 목요일
  • 26. Animation 을 만드는 CSS 속성 Transition Animation Browser Support 출처 : http://caniuse.com 13년 5월 16일 목요일
  • 27. Animation 을 만드는 CSS 속성 Animation Browser Support 출처 : http://caniuse.com 13년 5월 16일 목요일
  • 28. CSS Animation 에 자주 사용되는 속성 13년 5월 16일 목요일
  • 29. CSS Animation 에 자주 사용되는 속성 Transform left & top width & height opacity 13년 5월 16일 목요일
  • 30. CSS Animation 에 자주 사용되는 속성 translate scale rotate skew Transform 13년 5월 16일 목요일
  • 31. CSS Animation 에 자주 사용되는 속성 matrix transform: matrix(1.0, 2.0, 3.0, 4.0, 5.0, 6.0) transform: matrix3d(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 8.0, 7.0, 3.0, 4.0, 8.0, 9.0, 3.0) translate transform: translate(12px, 50%) transform: translateX(2em) transform: translateY(3in) transform: translate3d(12px, 50%, 3em) transform: translateZ(2px) scale transform: scale(2, 0.5) transform: scaleX(2) transform: scaleY(0.5) transform: scale3d(2.5, 1.2, 0.3) transform: scaleZ(0.3) rotate transform: rotate(0.5turn) transform: rotate3d(1, 2.0, 3.0, 10deg) transform: rotateX(10deg) transform: rotateY(10deg) transform: rotateZ(10deg) skew transform: skewX(30deg) transform: skewY(1.07rad) https://developer.mozilla.org/ko/docs/CSS/transform Transform 자세한 내용은 여기서! 13년 5월 16일 목요일
  • 32. Animation 을 만드는 CSS 속성 Animation Browser Support - Transform 출처 : http://caniuse.com Transform 13년 5월 16일 목요일
  • 33. Animation 을 만드는 CSS 속성 Animation Browser Support - 3D Transform 출처 : http://caniuse.com Transform 13년 5월 16일 목요일
  • 34. Transform 을 활용한 예제 13년 5월 16일 목요일
  • 35. Transform 을 활용한 예제 Clock Flipboard Page 3D Gallery 13년 5월 16일 목요일
  • 36. CSS Animation 을 만드는 방법 13년 5월 16일 목요일
  • 37. CSS Animation 을 만드는 방법 Only CSS with Javascript 13년 5월 16일 목요일
  • 38. CSS Animation 을 만드는 방법 가상 클래스(pseudo-classes) 활용 background-color: blue; .myButton :hover { } .myButton :active { } transform: scale(0.8, 0.8); .myButton { background-color: skyblue; } transition: background 0.5s transform 0.5s; example-button Only CSS with Javascript 13년 5월 16일 목요일
  • 39. CSS Animation 을 만드는 방법 요소가 렌더링된 후 바로 재생 animation: bounce 1.5s infinite alternate; .bounce { } @keyframes bounce { } from { top: 400px; } example-bounce to { top: 100px; } ... Only CSS with Javascript 13년 5월 16일 목요일
  • 40. CSS Animation 을 만드는 방법 장점 CSS 만으로 깔끔하게 정리 단점 가상클래스의 한계 (일부 요소에만 적용 가능) 다양한 사용자의 이벤트에 대응 불가 Only CSS with Javascript 적용대상 발생 가능한 이벤트가 간단한 요소 정해진 규칙대로 재생되는 애니메이션 쉽다! 13년 5월 16일 목요일
  • 41. CSS Animation 을 만드는 방법 Only CSS with Javascript CSS Class 조작 $(‘#moveButton’).click(function() { $(‘#aniBox’).addClass(‘move’); }); @keyframes moveBox { .... } #aniBox.move { animation: moveBox 4s; } example-MoveBox 13년 5월 16일 목요일
  • 42. CSS Animation 을 만드는 방법 Only CSS with Javascript Inline style 조작 $(‘#title’).css({ transition: ‘opacity 1s‘ opacity: 1 }); #title { opacity: 0; } example-TitleFadeInOut 13년 5월 16일 목요일
  • 43. CSS Animation 을 만드는 방법 Only CSS with Javascript 다양한 Animation Event 활용 animationstart animationend animationiteration transitionend https://developer.mozilla.org/ko/docs/DOM/AnimationEvent 자세한 내용은 여기서! https://developer.mozilla.org/en-US/docs/DOM/Mozilla_event_reference/transitionend 13년 5월 16일 목요일
  • 44. CSS Animation 을 만드는 방법 Only CSS with Javascript 장점 다양한 사용자 이벤트에 대한 처리 가능 단점 CSS 와의 애매한 분리 적용대상 다양한 사용자 이벤트에 반응해야 하는 UI Component 복잡한 애니메이션 적용 가능 다소 복잡한 애니메이션 13년 5월 16일 목요일
  • 45. 나의 경험에서 우려내는 Tip! 13년 5월 16일 목요일
  • 46. 성능 개선 작업 편의성 브라우저 호환 나의 경험에서 우려내는 Tip! 13년 5월 16일 목요일
  • 47. 나의 경험에서 우려내는 Tip! 타겟 브라우저의 하드웨어 가속 지원 요소를 반드시 확인! 같은 역할은 하는 요소간 성능 비교 동시에 재생되는 Animation 수 요소의 컨텐츠 양 (이미지, 텍스트) Effect 가 많이 적용된 요소 성능 저하 유발 요인 성능 향상을 위한 준비 작업 애니메이션 시나리오 확인 성능 개선 작업 편의성 브라우저 호환 13년 5월 16일 목요일
  • 48. 나의 경험에서 우려내는 Tip! 자주 사용되는 Animation 패턴 메서드화 Animation Lock 기능 Animation Event 처리 기능 Vendor prefix 자동 추가 기능 대상 Element 에 inline 스타일을 적용 기능 Animation Helper API 를 사용하자 이외 필요한 여러가지 기능들.. 성능 개선 작업 편의성 브라우저 호환 Transit (jQuery PlugIn)참고 13년 5월 16일 목요일
  • 49. 나의 경험에서 우려내는 Tip! 성능 개선 작업 편의성 브라우저 호환 다양한 툴을 이용하자! http://cubic-bezier.com/ http://leaverou.github.io/animatable/ http://leaverou.github.io/prefixfree/ http://prefixmycss.com/ http://lab.hakim.se/scroll-effects/ http://daneden.me/animate/ http://easings.net/ 13년 5월 16일 목요일
  • 50. 나의 경험에서 우려내는 Tip! Javascirpt Animation 으로대체 성능 개선 작업 편의성 브라우저 호환 Animation 속성을 지원하지 않을 때 Animation 속성별로 성능 차이가 날 때 Animation 대신 일반 CSS 적용 Animation 차별화 13년 5월 16일 목요일
  • 52. 정리 CSS Animation transition, animation 속성으로 만든 animation CSS 속성 translate, keyframes, animation, transform, opacity ... 만드는 방법 OnlyCSS - 가상 선택자 활용, 요소 렌더링 후 바로 적용 Javascript 활용 - CSS Class 변경, inline 스타일 변경 Tip! 성능 고려! 작업 능률! 브라우저 호환! 13년 5월 16일 목요일
  • 53. - Q&A - 감사합니다 !! 김양귀 email : [email protected] tweeter : @kingearlast 13년 5월 16일 목요일