애니메이션, 글자 깜박임, keyframes
페이지 정보
작성자 서방님 댓글 0건 조회 226회 작성일 17-07-26 15:12본문
<style>
.blink {
-webkit-animation: blink 2.5s linear infinite;
}
@-webkit-keyframes blink {
0% { background-color: red; }
33% { background-color: yellow; }
66% { background-color: blue; }
100% { background-color: green; }
/* from { background-color: red;}
to {background-color: green;} */
}
</style>
This is <span class="blink">blinking</span> text.
This is blinking text.
보통 javascript로 하던, 해당 객체의 각종 속성을 주기적으로 변화를 주면 흔히 말하는 애니메이션 효과를, css로도 할 수 있다. 물론.. IE9 이하버전이라던가, 예전 웹브라우저에서는 안되는 기능이기 때문에 아직 우리나라에선 javascript로 짜는게 여러모로 편할 수 있지만 말이다..
위 소스를 실행 시켜 보면 주기적으로 "blinking"부분의 배경이 바뀌는것을 볼 수 있을 것이다.
@keyframes animationname {keyframes-selector {css-styles;}} @keyframes mymove{ from {top:0px;} to {top:200px;} } @-webkit-keyframes mymove /* Safari and Chrome */{ from {top:0px;} to {top:200px;} } @keyframes 내부에 css 스타일을 정의하고 animation 은 “from”에 정의된 스타일에서 출발하여 “to”에 새롭게 정의된 스타일로 점차적으로 변화되는 것이다. from 에서 to까지과정에서 변화를 주려면 아래와 같이 정의 한다. @keyframes mymove{ 0% {top:0px;} 25% {top:200px;} 50% {top:100px;} 75% {top:200px;} 100% {top:0px;} } @-webkit-keyframes mymove /* Safari and Chrome */{ 0% {top:0px;} 25% {top:200px;} 50% {top:100px;} 75% {top:200px;} 100% {top:0px;} } CSS3의 애니메이션 관련 속성 4가지 1. animation-duration : 애니메이션의 동작 시간('1s','0.5s'와 같은 형식으로 지정) 2. animation-iteration-count : 애니메이션의 동작 회수('infinite'를 지정하면 무한 반복) 3. animation-name : 애니메이션의 이름 4. animation-timing-function : 애니메이션의 타이밍 animation-timing-function 속성에 지정할 수 있는 값의 의미 6가지 1. ease : 시작과 종료를 부드럽게 2. linear : 일정 3. ease-in : 서서히 시작 4. ease-out : 서서히 종료 5. ease-in-out : 서서히 시작하여 서서히 종료 6. cubic-bezier(x1,y1,x2,y2) : 3차 배지에 곡선의 P1과 P2를 (x1,y1,x2,y2)로 지정 CSS3의 애니메이션 관련 속성 4가지 1. animation-duration : 애니메이션의 동작 시간('1s','0.5s'와 같은 형식으로 지정) 2. animation-iteration-count : 애니메이션의 동작 회수(디폴트1, 'infinite'를 지정하면 무한 반복) 3. animation-name : 애니메이션의 이름 4. animation-timing-function : 애니메이션의 타이밍 5. animation-direction:normal,alternate (alternate적용시 부드럽게) Transform transform:translate(X크기,Y크기) : x,y크기만큼 이동 transform:translateX(X크기) : x크기만큼 이동 transform:translateY(Y크기) : y크기만큼 이동 transform:scale(X크기,Y크기) : x,y배율만큼 늘어나거나 줄어듬 transform:scaleX(X크기) : x크기만큼 확대나 축소 transform:scaleX(Y크기) : y크기만큼 확대나 축소 transform:skew(X각도,Y각도) : x,y만큼 기울이기 transform:skew(X각도) : x만큼 기울이기 transform:skew(Y각도) : y만큼 기울이기 transform:rotate(각도) : 각도만큼 회전 Ex) 한줄로 쓸때 span.cloud_low{ -webkit-animation:cloud_low ease-in-out 2s infinite alternate; animation:cloud_low ease-in-out 4s infinite alternate; } 여러줄로 쓸때 span.cloud_low { -webkit-animation-name:cloud_low; /* @ keyframes 애니메이션의 이름을 지정한다. */ -webkit-animation-timing-function:ease-in-out; /* 애니메이션이 사이클 동안 어떻게 진행되는가를 설명한다. 디폴트는 "ease" */ -webkit-animation-duration:2s; /* Default 0 애니메이션 한 사이클을 완료하는데 걸리는 초 또는 밀리 초를 지정한다 */ -webkit-animation-iteration-count:infinite; /* 애니메이션이 재생되는 횟수를 지정한다. */ -webkit-animation-direction:alternate; /* 애니메이션을 역방향으로 재생해야 할지 여부를 지정한다. */ -webkit-animation-delay:0; /* 애니메이션 시작 될 때 지연 시간을 지정한다. 디폴트는 0 */ -webkit-animation-play-state:running; /* 애니메이션을 실행하거나 일시 정지 여부를 지정 디폴트는 "running */ } @-webkit-keyframes cloud_low { 0% {-webkit-transform:translate(0px, 0px); opacity:0.5;} /* from */ 100% {-webkit-transform:translate(0px, 8px);} /* to */ }
댓글목록
등록된 댓글이 없습니다.