CSS의 transition 약식 속성(shorthand)을 활용하면 transition-property, transition-duration, transition-timing-function, transition-delay 네 가지 개별 속성을 한 줄로 간결하게 지정할 수 있습니다. 이를 통해 코드가 짧아지고 가독성이 크게 향상됩니다.
전환 약식 속성의 작성 순서
transition 값은 일반적으로 아래 순서대로 작성합니다.
- transition-property — 전환 효과를 적용할 CSS 속성
- transition-duration — 전환이 완료되는 데 걸리는 시간
- transition-timing-function — 전환 속도의 변화 곡선(ease, ease-out, linear 등)
- transition-delay — 전환이 시작되기까지의 지연 시간
여러 속성에 동시에 전환 효과를 적용하려면 각 그룹을 쉼표(,)로 구분해 나열하면 됩니다.
예제 코드
다음은 CSS에서 transition 약식 속성을 사용한 예제입니다.
<!DOCTYPE html>
<html>
<head>
<style>
.container div {
width: 300px;
height: 100px;
border-radius: 1px;
background-color: rgb(25, 0, 255);
border: 2px solid red;
transition: border-radius 2s ease 1s, background-color 2s ease-out 1s;
}
.container:hover div {
background-color: purple;
border-radius: 50%;
}
</style>
</head>
<body>
<h1>Transition shorthand property</h1>
<div class="container">
<div></div>
</div>
<h2>Hover over the above div to change its color and its shape to oval</h2>
</body>
</html>
실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.


위 예제에서 마우스 포인터를 div 요소 위에 올리면(hover), 배경색이 파란색에서 보라색으로 부드럽게 변하고, 모서리 둥글기(border-radius)가 50%까지 커지면서 사각형이 타원 형태로 자연스럽게 전환됩니다. 각 전환은 1초의 지연 시간 후 2초에 걸쳐 진행됩니다.