HTML DOM Style의 transitionProperty 속성은 HTML 문서 내 요소에 전환(transition) 효과가 적용될 CSS 속성의 이름을 반환하거나 수정하는 데 사용됩니다. 즉, 어떤 CSS 속성이 부드럽게 변화하는 애니메이션 효과의 대상이 될지를 JavaScript로 제어할 수 있습니다.
문법(Syntax)
transitionProperty 속성의 기본 문법은 다음과 같습니다.
1. transitionProperty 값 가져오기
object.transitionProperty
2. transitionProperty 값 설정하기
object.transitionProperty = "value"
value에 사용할 수 있는 값은 다음과 같습니다.
| 값 | 설명 |
|---|---|
| initial | 해당 속성 값을 기본(default) 값으로 설정합니다. |
| inherit | 부모 요소로부터 속성 값을 상속받습니다. |
| all | 요소의 모든 속성에 전환 효과를 적용합니다. |
| property | 전환 효과를 적용할 CSS 속성 이름(또는 쉼표로 구분된 속성 목록)을 지정합니다. |
| none | 어떤 속성에도 전환 효과를 적용하지 않습니다. |
예제(Example)
다음 예제는 버튼 클릭 시 사각형 요소의 transitionProperty 값을 변경하고, 마우스를 올렸을 때 전환 효과가 어떻게 달라지는지 보여줍니다.
<!DOCTYPE html>
<html>
<style>
body {
color: #000;
height: 100vh;
}
.btn {
background: #db133a;
border: none;
height: 2rem;
border-radius: 2px;
width: 40%;
display: block;
color: #fff;
outline: none;
cursor: pointer;
margin: 1rem 0;
}
.circle {
height: 100px;
width: 100px;
background-color: #db133a;
}
.circle:hover {
height: 200px;
width: 200px;
border-radius: 50%;
transition: all 1s;
}
.show {
font-size: 1.2rem;
margin: 1rem 0;
}
</style>
<body>
<h1>DOM Style transitionProperty Property Demo</h1>
<div class='circle'></div>
<button onclick="set()" class="btn">Change TransitionProperty</button>
<div class="show">Now, hover on the square</div>
<script>
function set() {
document.querySelector('.circle').style.transitionProperty = "border-radius";
}
</script>
</body>
</html>실행 결과(Output)

Change TransitionProperty 버튼을 클릭한 뒤, 빨간색 사각형 위에 마우스 커서를 올려보세요. transitionProperty 값이 border-radius로 변경되었기 때문에 크기 변화 없이 모서리만 부드럽게 둥글어지는 것을 확인할 수 있습니다.

참고 사항
transitionProperty는 transitionDuration, transitionTimingFunction, transitionDelay 속성과 함께 사용하면 더욱 세밀한 전환 효과 연출이 가능합니다. 또한 특정 속성만 지정하면 불필요한 애니메이션 연산을 줄여 성능 최적화에도 도움이 됩니다.