CSS 전환 효과에 지연 시간 설정하기
CSS에서는 transition-delay 속성을 사용하여 전환(transition) 효과가 시작되기 전까지의 지연 시간을 지정할 수 있습니다. 값은 초(s) 또는 밀리초(ms) 단위로 입력하며, 마우스를 올리거나 요소의 상태가 변경된 직후가 아니라 일정 시간이 지난 뒤에 애니메이션이 실행되도록 만들 수 있습니다.
기본 문법
transition-delay: 시간값;
예를 들어 transition-delay: 2s;처럼 작성하면 전환 효과가 2초 후에 시작됩니다.
예제: 2초 지연 후 너비 변화
다음 예제에서는 파란색 상자에 마우스를 올리면(hover) 너비가 150px에서 350px로 늘어납니다. 이때 전환 효과는 2초 동안 지연된 후 3초에 걸쳐 부드럽게 진행됩니다.
<!DOCTYPE html>
<html>
<head>
<style>
div {
width: 150px;
height: 150px;
background: blue;
transition: width 3s;
transition-delay: 2s;
}
div:hover {
width: 350px;
}
</style>
</head>
<body>
<h1>Heading One</h1>
<p>아래 상자에 마우스를 올려보세요. 너비가 2초의 지연 후에 변화합니다.</p>
<div></div>
</body>
</html>참고 사항
transition-delay는 transition 단축 속성의 네 번째 값으로 함께 지정할 수도 있습니다. 예를 들어 transition: width 3s ease 2s;와 같이 작성하면 별도의 속성 선언 없이 지연 시간을 한 줄로 처리할 수 있습니다. 또한 여러 속성에 각각 다른 지연 시간을 적용하려면 쉼표(,)로 구분하여 값을 나열하면 됩니다.