css를 적용하다 보면 특정 요소가 변화하게 만들어야 할 때가 있다.
근데 그냥 변화시키면 상당히 부자연스럽다.
한 상태에서 다른 상태로 바로 한 번에 변화해 버리기 때문이다.
이때 변화를 자연스럽게 주고 싶다면 transition을 사용하면 된다.
transition 사용 위치
transition은 변화 하기전 상태에 적용해야 한다.
즉 변화 조건(state)가 없는 곳에 적용해야 한다는 뜻이다.
예를 들어 div가 하나 있고, 마우스를 올렸을 때(div:hover) div를 변화시키고 싶다면,
div:hover가 아닌 div에 transition을 작성해야 한다는 뜻이다.
transition 사용 방법
transition은 아래와 같이 사용한다.
속성 작성 순서는 큰 상관이 없지만 duration보다 늘 delay가 뒤에 와야 한다.
div {
transition: <property> <duration> <timing-function> <delay>;
}
- property : transition 완료한 CSS 속성의 이름을 나타내는 문자열
- ex) div의 배경색을 변화시키고 싶다면 property는 background-color를 작성하면 된다.
- duration : transition 애니메이션 지속 시간
- timing-function : 애니메이션의 가속 곡선 설정
- linear : 직선 그래프
- ease-in : 시작과 끝이 빠름
- ease-out : 시작과 끝이 느림
- ease-in-out : 시작이 빠르고 끝이 림
- delay : 애니메이션이 시작되기 전에 주는 딜레이 시간
transition 사용 예시
See the Pen transition by 김다영 (@xnpzlttb-the-solid) on CodePen.
'HTML, CSS' 카테고리의 다른 글
(CSS) position : absolute로 요소 정중앙에 위치 시키기 (0) | 2024.04.24 |
---|---|
(CSS) margin이 제대로 적용되지 않을 때, margin collapsing이란? (0) | 2024.04.22 |
(HTML, CSS) <input type = "button">과 <button>차이 , 버튼에 아이콘이 안 나오는 이유 (0) | 2024.04.19 |
(CSS) 변수 사용하기 (0) | 2024.04.17 |
(CSS 선택자 2편) combinator, attribute란? (0) | 2024.04.16 |