오늘은
Transition
에 관련된 클래스를 알아보자 :)
Transition Property
에 관한 클래스들을 정리해보자
혹시 Transition 기본에 대해 잘 모르면 해당 포스팅을 이해하기 힘드니 Transition 포스팅을 미리 보면 도움이 될 것 같다 👍
클래스명 | 내용 |
---|---|
transition-none | • transition-property: none |
transition-all | • transition-property: all • transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) • transition-duration: 150ms |
transition | • transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter • transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) • transition-duration: 150ms |
transition-colors | • transition-property: color, background-color, border-color, text-decoration-color, fill, stroke • transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) • transition-duration: 150ms |
transition-opacity | • transition-property: opacity • transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) • transition-duration: 150ms |
transition-shadow | • transition-property: box-shadow • transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) • transition-duration: 150ms |
transition-transform | • transition-property: transform • transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) • transition-duration: 150ms |
위 표를 보면 알 수 있듯이 적용할
Transition
의 종류를 지정하는 것이다
Transition-Timing-Function
과Transition-Duration
도 나와있지만 모든 클래스에서 동일하므로Transition-Property
를 지정한다고 봐도 무방하다
Transition Property
를 반응형 디자인과 Hover, Focus에 적용해보자
종류 | 문법 | 예 |
---|---|---|
BreakPoint | <적용할 BreakPoint>:<클래스명> | md:transition-all |
State | <적용할 State>:<클래스명> | hover:transition-all |
위 표처럼 클래스명 앞에
BreakPoint
/State
+:
만 붙여주면 된다 👍
Transition Property
에 사용되는Value
를 커스텀하는 법엔 두가지가 있다
tailwind.config.js
파일에 커스텀 값 저장하기이 방법은 아래 순서대로 따라하면 된다
㉠ tailwind.config.js
파일 찾기
㉡ theme.extend
내부에 transitionProperty
만들어 주기
㉢ theme.extend.transitionProperty
에 내가 원하는 값 설정
: "value name" : "value"
transition-height
라는 클래스명으로 사용할 수 있게 된다 👍
해당 방법은tailwind.config.js
파일 내에 저장한 값이면 어느 곳에서든 전역적으로 사용 가능하다
두번째 방법은 첫번째 방법과 달리 전역적으로 사용할 필요 없는 값들을 커스터마이징 할 수 있는 방법으로
[] 대괄호
를 이용한다
transition
-[주고자하는 transition 속성
]다음은
Transition Duration
클래스를 알아보자
클래스명 | 내용 |
---|---|
duration-0 | • transition-duration: 0s |
duration-75 | • transition-duration: 75ms |
duration-100 | • transition-duration: 100ms |
duration-150 | • transition-duration: 150ms |
duration-200 | • transition-duration: 200ms |
duration-300 | • transition-duration: 300ms |
duration-500 | • transition-duration: 500ms |
duration-700 | • transition-duration: 700ms |
duration-1000 | • transition-duration: 1000ms |
Transition Duration
은 직접 예로 보는 게 이해가 빠르니 아래를 보자
duration-150
duration-700
위의
duration-150
과duration-700
을 보면duration-700
의transition
지속시간이 훨씬 긴 걸 알 수 있다!
Transition Duration
을 반응형 디자인과 Hover, Focus에 적용해보자
종류 | 문법 | 예 |
---|---|---|
BreakPoint | <적용할 BreakPoint>:<클래스명> | md:duration-100 |
State | <적용할 State>:<클래스명> | hover:duration-100 |
위 표처럼 클래스명 앞에
BreakPoint
/State
+:
만 붙여주면 된다 👍
Transition Duration
에 사용되는Value
를 커스텀하는 법엔 두가지가 있다
tailwind.config.js
파일에 커스텀 값 저장하기이 방법은 아래 순서대로 따라하면 된다
㉠ tailwind.config.js
파일 찾기
㉡ theme.extend
내부에 transitionDuration
만들어 주기
㉢ theme.extend.transitionDuration
에 내가 원하는 값 설정
: "value name" : "value"
이제 아래 코드처럼
duration-2000
라는 클래스명으로 사용할 수 있게 된다 👍
코드
결과
해당 방법은
tailwind.config.js
파일 내에 저장한 값이면 어느 곳에서든 전역적으로 사용 가능하다
두번째 방법은 첫번째 방법과 달리 전역적으로 사용할 필요 없는 값들을 커스터마이징 할 수 있는 방법으로
[] 대괄호
를 이용한다
duration
-[주고자하는 duration 값
]코드
결과
해당 방법은 단위도 꼭 같이 기재해 주어야 한다는 점 명심하자 😎
Transition Timing Function
은 아래의 4개 클래스만 존재한다
클래스명 | 내용 |
---|---|
ease-linear | • transition-timing-function: linear : 처음부터 마지막까지 일정하게 같은 속도 (등속) |
ease-in | • transition-timing-function: cubic-bezier(0.4, 0, 1, 1) : 처음에는 속도가 느리지만 끝으로 갈수록 속도가 빨라짐 (느림 -> 보통) |
ease-out | • transition-timing-function: cubic-bezier(0, 0, 0.2, 1) : 처음에는 속도가 빠르지만 끝으로 갈수록 속도가 느려짐 (보통 -> 느림) |
ease-in-out | • transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) : 처음엔 속도가 느리지만 빨라지다가 갈수록 다시 느려짐 (느림 -> 보통 -> 느림) |
Transition Timing Function
를 반응형 디자인과 Hover, Focus에 적용해보자
종류 | 문법 | 예 |
---|---|---|
BreakPoint | <적용할 BreakPoint>:<클래스명> | md:ease-in |
State | <적용할 State>:<클래스명> | hover:ease-in |
위 표처럼 클래스명 앞에
BreakPoint
/State
+:
만 붙여주면 된다 👍
Transition Timing Function
에 사용되는Value
를 커스텀하는 법엔 조금 복잡하지만 두가지가 있다
tailwind.config.js
파일에 커스텀 값 저장하기이 방법은 아래 순서대로 따라하면 된다
㉠ tailwind.config.js
파일 찾기
㉡ theme.extend
내부에 transitionTimingFunction
만들어 주기
㉢ theme.extend.transitionTimingFunction
에 내가 원하는 값 설정
: "value name" : "value"
ease-in-expo
라는 클래스명으로 사용할 수 있게 된다 👍
해당 방법은tailwind.config.js
파일 내에 저장한 값이면 어느 곳에서든 전역적으로 사용 가능하다
두번째 방법은 첫번째 방법과 달리 전역적으로 사용할 필요 없는 값들을 커스터마이징 할 수 있는 방법으로
[] 대괄호
를 이용한다
ease
-[주고자하는 Time Function 값
]아래 클래스들은 말 그대로
Transition
을 할 때 얼마나Delay
를 줄 건지를 정하는 것이다
클래스명 | 내용 |
---|---|
delay-0 | • transition-delay: 0s |
delay-75 | • transition-delay: 75ms |
delay-100 | • transition-delay: 100ms |
delay-150 | • transition-delay: 150ms |
delay-200 | • transition-delay: 200ms |
delay-300 | • transition-delay: 300ms |
delay-500 | • transition-delay: 500ms |
delay-700 | • transition-delay: 700ms |
delay-1000 | • transition-delay: 1000ms |
delay-150
delay-700
위의 두 Gif를 보면
delay-150
,delay-700
의 현저한 차이를 볼 수 있다!
Transition Delay
를 반응형 디자인과 Hover, Focus에 적용해보자
종류 | 문법 | 예 |
---|---|---|
BreakPoint | <적용할 BreakPoint>:<클래스명> | md:delay-300 |
State | <적용할 State>:<클래스명> | hover:delay-300 |
위 표처럼 클래스명 앞에
BreakPoint
/State
+:
만 붙여주면 된다 👍
Transition Delay
에 사용되는Value
를 커스텀하는 법엔 두가지가 있다
tailwind.config.js
파일에 커스텀 값 저장하기이 방법은 아래 순서대로 따라하면 된다
㉠ tailwind.config.js
파일 찾기
㉡ theme.extend
내부에 transitionDelay
만들어 주기
㉢ theme.extend.transitionDelay
에 내가 원하는 값 설정
: "value name" : "value"
delay-2000
이라는 클래스명으로 사용할 수 있게 된다 👍
해당 방법은tailwind.config.js
파일 내에 저장한 값이면 어느 곳에서든 전역적으로 사용 가능하다
두번째 방법은 첫번째 방법과 달리 전역적으로 사용할 필요 없는 값들을 커스터마이징 할 수 있는 방법으로
[] 대괄호
를 이용한다
delay
-[주고자하는 Transition Delay 값
]코드
결과
Delay
가 잘 적용됨을 볼 수 있다
예전에 CSS
로 처음 Transition
을 실습해 볼 때는 Transition
이라는 개념 자체가 처음이라 각각의 개념을 잡아 이해하는 데 시간이 조금 걸렸었다. 특히 Transition Timing Function
속성들의 차이를 알아내는 데 많은 시간을 투자했었다.
그렇지만 오늘은 아는 개념이 된 Transition
을 Tailwind CSS
로 다시 한 번 포스팅하니 실습도 잘 되고 좋았다. 또 잠시 기억이 안 나던 개념들은 예전 나의 포스팅을 다시 보며 머리에 다시 새기는 좋은 경험도 되었다.
요즘은 Transition
을 이용하지 않은 정적인 디자인보다는 Transition
을 이용한 동적인 디자인이 많이 추구되는 만큼 많이 쓰게 될 개념이라 오늘 한 번 더 복습할 수 있어 좋았다 👍