Computer >> 컴퓨터 >  >> 프로그래밍 >> CSS

CSS3 전환(Transition) 효과 만드는 방법 총정리

CSS3 전환 효과란?

CSS3에서 전환(Transition) 효과를 만들려면 transition 속성을 사용합니다. 전환 효과는 요소의 스타일이 한 값에서 다른 값으로 부드럽게 변화하도록 만들어 주는 기능으로, 마우스 오버(hover)나 클릭 같은 사용자 인터랙션에 따라 자연스러운 애니메이션을 구현할 수 있습니다.

transition 속성은 다음과 같은 하위 속성들을 포함합니다.

  • transition-property: 전환 효과를 적용할 CSS 속성 지정
  • transition-duration: 전환이 완료되는 데 걸리는 시간 지정
  • transition-timing-function: 전환의 속도 곡선(ease, linear 등) 지정
  • transition-delay: 전환이 시작되기 전 대기 시간 지정

CSS3 전환 효과 예제 코드

아래는 CSS3의 transition 속성을 활용해 전환 효과를 구현한 전체 코드입니다.

<!DOCTYPE html>
<html>
<head>
<style>
.container div {
    width: 300px;
    height: 100px;
    background: rgb(25, 0, 255);
    border: 2px solid red;
    transition: width 2s;
}
.container:hover div {
    width: 100px;
}
</style>
</head>
<body>
<h1>전환 효과 예제</h1>
<div class="container">
<div></div>
</div>
<h2>위 div에 마우스를 올리면 너비가 줄어듭니다</h2>
</body>
</html>

코드 설명

이 코드의 핵심 동작 방식은 다음과 같습니다.

  • .container div 선택자는 너비 300px, 높이 100px, 파란색 배경과 빨간색 테두리를 가진 박스를 정의합니다.
  • transition: width 2s; 선언은 너비(width) 속성의 변화가 2초에 걸쳐 부드럽게 일어나도록 설정합니다.
  • .container:hover div 선택자는 컨테이너에 마우스를 올렸을 때 박스의 너비가 100px로 줄어들도록 합니다.

즉, 마우스를 올리는 순간 너비가 즉시 바뀌는 것이 아니라 2초 동안 점진적으로 줄어드는 애니메이션 효과가 나타납니다.

실행 결과

위 코드를 실행하면 다음과 같은 화면이 출력됩니다.

CSS3 전환(Transition) 효과 만드는 방법 총정리


div 위에 마우스를 올린 후에는 박스의 너비가 300px에서 100px로 2초에 걸쳐 부드럽게 줄어듭니다.

CSS3 전환(Transition) 효과 만드는 방법 총정리

추가 팁: 더 풍부한 전환 효과 만들기

여러 속성에 동시에 전환 효과를 적용하고 싶다면 속성을 쉼표로 구분하여 작성할 수 있습니다.

transition: width 2s, height 1s ease-in-out, background-color 0.5s;

또한 ease, linear, ease-in, ease-out, ease-in-out 같은 타이밍 함수를 활용하면 전환의 가속과 감속 느낌을 조절해 더욱 세련된 UI를 만들 수 있습니다.