Transition

김동현·2021년 10월 22일
0

CSS3

목록 보기
10/13
post-thumbnail

CSS Transition 속성은 A라는 상태가 B라는 상태로 변경될 때 변경되는 동안의 스타일을 설정할 때 사용하는 속성입니다.

transtion

  • CSS 속성의 전환 효과를 지정하는 속성입니다(단축 속성).

  • 의미기본값
    transition-property전환 효과를 사용할 속성 이름all
    transition-duration전환 효과의 지속 시간0s
    transition-timing-function타이밍 함수를 지정ease
    transition-delay전환 효과의 대기 시간을 설정0s
  • 만약 시간을 의미하는 값이 하나만 존재하는 경우 그 값은 transition-duration 속성의 값으로 사용됩니다

  • 시간을 의미하는 값이 두 개 존재하는 경우 첫 번째 시간값은 transition-duration, 두 번째 시간값은 transition-delay 속성값으로 사용됩니다.

  • CSS 속성 값이 변경되는 시작 지점과 끝 지점 사이에 전환 효과를 적용하는 속성입니다.

  • 일반적으로 시작 지점, 즉 변경되기 전 상태에 transition 속성을 작성합니다.


.start { /* 변경의 시작 지점 */
    width: 300px;
    height: 300px;
    background-color: red;
    
    transition: all 2500ms ease-in;
    /*
      transition-property: all;
      transition-duration: 2500ms;
      transition-timing-function: ease-in;
      transition-delay: 0s;
    */
}

.start:hover { /* 변경의 끝 지점*/
    width: 500px;
    height: 500px;
    background-color: blue;
}

위 예제는 start라는 클래스를 가진 요소에 마우스 커서를 올려두면 width, height, background-color 속성이 2.5초 동안 ease-in 전환 효과를 사용하여 width와 height 속성의 값은 300px에서 500px로, background-color 속성의 값은 red에서 blue로 변경이 됩니다.

만약 .star:hover에 transtion 속성을 작성했다면 커서를 올리면 transition이 적용되지만 커서를 내리는 순간에는 transition이 적용되지 않습니다.

이는 :hover 가상 클래스 선택자는 커서를 내리는 순간 제외되기 때문에 커서를 내리는 순가 transition이 적용되지 않습니다.

transition-property

  • 전환 효과를 사용할 CSS 속성의 이름을 작성하는 속성입니다.

  • 의미기본값
    all요소의 모든 속성을 선택all
    속성 이름전환 효과를 사용할 속성의 이름
  • 기본값은 all로 되어 있으며 모든 속성이 전환 효과에 적용이 되도록 설정되어 있습니다.

  • 쉼표로 구분하여 여러 개 속성을 작성할 수 있습니다.

transition-durtion

  • 전환 효과의 지속 시간을 설정하는 속성입니다. 즉, transition-property 속성으로 지정된 CSS 속성값이 변경되는 시간을 설정하는 속성입니다.

  • 의미기본값
    시간전환 효과가 지속되는 시간(초, 밀리초)0s, 0ms
  • 시간 값을 작성할 때는 ms와 s 단위를 사용할 수 있습니다.
    1s === 1,000ms 입니다.

  • 기본값은 0s, 0ms로 CSS 속성값이 변경되는 시간이 따로 없고 즉각적으로 변경되지만, transition-duration 속성을 사용하면 CSS 속성값이 변경되는 시간을 지정하여 전환효과를 사용할 수 있습니다.

transition-timing-function

  • 전환 효과를 계산하는 방법을 지정하는 속성입니다.

  • 타이밍 함수란 전환 효가가 빠르게 진행되다 느리게 끝날 것인지, 천천히 진행되다 빠르게 끝날 것인지 등 애니메이션을 설정해주는 속성입니다.

  • 의미기본값
    ease빠르게 -> 느리게ease
    ease-in느리게 -> 빠르게
    ease-out빠르게 -> 느리게
    ease-in-out느리게 -> 빠르게 -> 느리게
    linear일정하게
    step(n)n번 분할된 애니메이션
    cubic-bezier()

transition-delay

  • 전환 효가가 몇 초뒤에 시작할지 대기 시간을 설정하는 속성입니다.

  • 의미기본값
    시간전환 효과의 대기 시간을 설정(초, 밀리초)0s, 0ms
profile
Frontend Dev

0개의 댓글

관련 채용 정보