transition,translate,transform,animation의 차이

3459 단어 css
transition/translate/transform/animation
css3 애니메이션을 처음 접했을 때 문서를 자세히 보지 못했기 때문에이 몇 개의'속성'을 자주 혼동한다(이 문제가 완전히 존재하지 않으면 무시할 수 있다)1. 우선transition,transform,animation 이 세 가지가 모두 css 속성이고translate는 2D 변환의 한 방법으로transform의 한 속성 값이다.2,transform은 2D,3D 변환의 속성이다. 단지 그가 항상transition과 동시에 사용하기 때문에 직관적으로 애니메이션(과도)이 바로transform이라고 생각한다.그러나 사실transform은 애니메이션(과도)에서 사용할 수 있는 속성으로 하이라이트,opacity와 같다(주의해야 할 것은 애니메이션에서 자주 사용하는transform이 하이라이트를 직접 사용하지 않는 이유는 하이라이트를 사용하면 페이지의 리셋을 일으키지 않고 성능을 향상시킬 수 있기 때문이다) 3,transition,animation이야말로 애니메이션(과도)에 필수적인 두 가지 속성이다.
animation과transition의 차이
1. transition은 간단한 상태의 과도에 더욱 적합하다. 2. animation은 촉발 조건이 없을 수 있지만 transition은 안 된다. 따라서 예를 들어 페이지가 처음 불러올 때의 애니메이션은 animation3을 사용할 수 있다. animation은 더 많은 파라미터를 통해 더욱 복잡한 애니메이션 효과를 실현할 수 있다. 이는 관건적인 프레임 수, 속도 곡선, 재생 횟수, 역방향 재생 여부 등을 포함한다.(공식 소개에서 애니메이션은transition 속성의 확장)
/* animation-test */
@keyframes myfirst
{
    from {background: green;}
    to {background: yellow;}
}
.animation-test{
    width: 200px;
    height: 200px;
    background: green;
}
.animation-test:hover{
    animation: myfirst 1s;
}
/* transition-test */
.transition-test {
    width: 200px;
    height: 200px;
    background: green;
    transition: background 1s;
}
.transition-test:hover {
    background: yellow;
}

좋은 웹페이지 즐겨찾기