Transition

1. κ°œμš”

νŠΈλžœμ§€μ…˜(transition)은 CSS ν”„λ‘œνΌν‹°μ˜ 값이 λ³€ν™”ν•  λ•Œ, ν”„λ‘œνΌν‹° κ°’μ˜ λ³€ν™”κ°€ 일정 μ‹œκ°„(durationi)에 걸쳐 μΌμ–΄λ‚˜λ„λ‘ ν•˜λŠ” 것이닀. 예λ₯Ό λ“€μ–΄ μ›Ή μš”μ†Œμ˜ 배경색을 λ°”κΎΈκ±°λ‚˜ λ„ν˜•μ˜ ν…Œλ‘λ¦¬λ₯Ό μ‚¬κ°ν˜•μ—μ„œ μ›ν˜•μœΌλ‘œ λ°”κΎΈλŠ” κ²ƒμ²˜λŸΌ μŠ€νƒ€μΌ 속성이 λ°”λ€ŒλŠ” 것을 λ§ν•œλ‹€.

transition의 ν”„λ‘œνΌν‹°λŠ” μ•„λž˜μ™€ κ°™λ‹€.

ν”„λ‘œνΌν‹°
μ„€λͺ…
κΈ°λ³Έκ°’

transition-property

νŠΈλžœμ§€μ…˜μ˜ λŒ€μƒμ΄ λ˜λŠ” CSS ν”„λ‘œνΌν‹°λ₯Ό μ§€μ •ν•œλ‹€.

all

transition-duration

νŠΈλžœμ§€μ…˜μ΄ μΌμ–΄λ‚˜λŠ” μ§€μ†μ‹œκ°„μ„ 초 λ‹¨μœ„ λ˜λŠ” 밀리 초 λ‹¨μœ„λ‘œ μ§€μ •ν•œλ‹€.

0s

transition-timing-function

νŠΈλž˜λ‹žμ…˜ 효과λ₯Ό μœ„ν•œ 수치 ν•¨μˆ˜λ₯Ό μ§€μ •ν•œλ‹€.

ease

transition-delay

ν”„λ‘œνΌν‹°κ°€ λ³€ν™”ν•œ μ‹œμ κ³Ό νŠΈλžœμ§€μ…˜μ΄ μ‹€μ œλ‘œ μ‹œμž‘ν•˜λŠ” 사이에 λŒ€κΈ°ν•˜λŠ” μ‹œκ°„μ„ 초 λ‹¨μœ„ λ˜λŠ” 밀리 초 λ‹¨μœ„λ‘œ μ§€μ •ν•œλ‹€.

0s

transition

λͺ¨λ“  νŠΈλžœμ§€μ…˜ ν”„λ‘œνΌν‹°λ₯Ό ν•œλ²ˆμ— μ§€μ •ν•œλ‹€.(shorthand syntax)


2. transition-property

νŠΈλžœμ§€μ…˜μ„ λ§Œλ“€κΈ° μœ„ν•΄μ„œλŠ” transition-property 속성을 μ‚¬μš©ν•΄μ•Ό ν•œλ‹€. ν•΄λ‹Ή 속성을 μ‚¬μš©ν•¨μœΌλ‘œμ¨ νŠΈλžœμ§€μ…˜μ˜ λŒ€μƒμ΄ λ˜λŠ” CSS ν”„λ‘œνΌν‹°λͺ…을 μ§€μ •ν•œλ‹€. 볡수의 ν”„λ‘œνΌν‹°λ₯Ό μ§€μ •ν•˜λŠ” 경우 μ‰Όν‘œ(,)둜 κ΅¬λΆ„ν•œλ‹€.

κΈ°λ³Έν˜• transition-property: all || none || <속성이름>

λͺ¨λ“  CSS ν”„λ‘œνΌν‹°κ°€ νŠΈλžœμ§€μ…˜μ˜ λŒ€μƒμ΄ 될 수 μ—†λ‹€. μ•„λž˜λŠ” νŠΈλžœμ§€μ…˜μ΄ λŒ€μƒμ΄ 될 수 μžˆλŠ” CSS ν”„λ‘œνΌν‹°μ΄λ‹€.

ꡬ뢄
ν”„λ‘œνΌν‹°

Box model

width, height, max-width, max-height, min-width, min-height, padding, margin, border-color, border-width, border-spacing

Background

background-color, background-position

μ’Œν‘œ

top, left, right, bottom

ν…μŠ€νŠΈ

color, font-size, font-weight, letter-spacing, line-height, text-indent, text-shadow, vertical-align, word-spacing

기타

opacity, outline-color, outline-offset, outline-width, visibility, z-index


3. transition-duration

transition-duration ν”„λ‘œνΌν‹°λŠ” νŠΈλžœμ§€μ…˜μ— μΌμ–΄λ‚˜λŠ” μ§€μ†μ‹œκ°„μ„ 초 λ‹¨μœ„ λ˜λŠ” 밀리 초 λ‹¨μœ„λ‘œ μ§€μ •ν•œλ‹€. ν•΄λ‹Ή ν”„λ‘œνΌν‹°λ₯Ό 톡해 μžμ—°μŠ€λŸ½κ²Œ λ°”λ€ŒλŠ” μ• λ‹ˆλ©”μ΄μ…˜ 효과λ₯Ό λ§Œλ“€ 수 μžˆλ‹€. ν”„λ‘œνΌν‹°κ°’μ„ μ§€μ •ν•˜μ§€ μ•Šμ„ 경우 κΈ°λ³Έκ°’ 0s이 μ μš©λ˜μ–΄ μ–΄λ– ν•œ νŠΈλžœμ§€μ…˜ νš¨κ³Όλ„ λ³Ό 수 μ—†λ‹€.

κΈ°λ³Έν˜• transition-duration: <μ‹œκ°„>

<!DOCTYPE html>
<html>
  <head>
    <style>
      div {
        width: 120px;
        height: 120px;
        background-color: green;
        transition-property: width, height;
        transition-duration: 1s, 2s;
      }
      div:hover {
        width: 240px;
        height: 240px;
      }
    </style>
  </head>
  <body>
    <div></div>
  </body>
</html>

μœ„μ˜ μ½”λ“œμ˜ 경우 div box에 마우슀λ₯Ό 올리게 되면 κ°€λ‘œμ˜ κΈΈμ΄λŠ” 1초 λ™μ•ˆ 총 120px만큼 λŠ˜μ–΄λ‚˜κ²Œ 되고 λ†’μ΄λŠ” 2초 λ™μ•ˆ 120px만큼 λŠ˜μ–΄λ‚˜κ²Œ λœλ‹€.


4. transition-timing-function

ν•΄λ‹Ή 속성은 νŠΈλž˜μ§€μ…˜ 효과의 λ³€ν™” 흐름, μ‹œκ°„μ— λ”°λ₯Έ λ³€ν™” 속도와 같은 μΌμ’…μ˜ λ³€ν™”μ˜ 리듬을 μ§€μ •ν•œλ‹€. νŠΈλžœμ§€μ…˜ 효과의 μ‹œμž‘, 쀑간, λμ—μ„œ 속도λ₯Ό μ§€μ •ν•΄ 전체 속도 곑선을 λ§Œλ“€ 수 μžˆλ‹€. 속도 κ³‘μ„œμ€ 미리 μ •ν•΄μ§„ ν‚€μ›Œλ“œλ‚˜ 베지에 곑선을 μ΄μš©ν•΄ ν‘œν˜„ν•œλ‹€.

κΈ°λ³Έν˜• transition-timing-function: linear || ease || ease-in || ease-out || ease-in-out || cubic-bezier(n, n, n, n)

μ•„λž˜λŠ” transition-timing-function의 ν”„λ‘œνΌν‹° κ°’κ³Ό μ„€λͺ…이닀.

ν”„λ‘œνΌν‹° κ°’
μ„€λͺ…

ease

κΈ°λ³Έκ°’μœΌλ‘œ 느리게 μ‹œμž‘ν•˜μ—¬ 점점 λΉ¨λΌμ‘Œλ‹€κ°€ λŠλ¦¬μ§€λ©΄μ„œ μ’…λ£Œν•œλ‹€.

linear

μ‹œμž‘λΆ€ν„° μ’…λ£ŒκΉŒμ§€ 등속 μš΄λ™μ„ ν•œλ‹€.

ease-in

느리게 μ‹œμž‘ν•œ ν›„ μΌμ •ν•œ 속도에 λ‹€λ‹€λ₯΄λ©΄ κ·Έ μƒνƒœλ‘œ 등속 μš΄λ™ν•œλ‹€.

ease-out

μΌμ •ν•œ μ†λ„μ˜ λ“±μ†μœΌλ‘œ μ‹œμž‘ν•΄μ„œ 점점 λŠλ €μ§€λ©΄μ„œ μ’…λ£Œν•œλ‹€.

ease-in-out

느리게 μ‹œμž‘ν•˜κ³  느리게 λλ‚œλ‹€.

cubic-bezier(n, n, n, n)

베지에 ν•¨μˆ˜λ₯Ό μ •μ˜ν•΄μ„œ μ‚¬μš©ν•œλ‹€. μ΄λ•Œ n값은 0~1 μ‚¬μ΄λ§Œ μ‚¬μš©ν•  수 μžˆλ‹€.


5. transition-delay

transition-delay ν”„λ‘œνΌν‹°λŠ” νŠΈλžœμ§€μ…˜ 효과λ₯Ό μ–Έμ œλΆ€ν„° μ‹œμž‘ν•  것인지 μ„€μ •ν•œλ‹€. 즉, transition-delay둜 λŒ€κΈ° μ‹œκ°„μ„ μ§€μ •ν•˜μ—¬ ν”„λ‘œνΌν‹°μ˜ 값이 λ³€ν™”ν•˜μ—¬λ„ μ¦‰μ‹œ νŠΈλžœμ§€μ…˜μ΄ μ‹€ν–‰λ˜μ§€ μ•Šκ³ , 일정 μ‹œκ°„ λŒ€κΈ°ν•œ ν›„ νŠΈλžœμ§€μ…˜μ΄ μ‹€ν–‰λ˜λ„λ‘ ν•œλ‹€. μ‚¬μš©ν•  수 μžˆλŠ” 값은 초(s)λ‚˜ λ°€λ¦¬μ΄ˆ(ms)이며, 기본값은 0이닀.

κΈ°λ³Έν˜• transtition-delay: <μ‹œκ°„>


6. transition

μœ„μ—μ„œ μ„€λͺ…ν•œ λͺ¨λ“  νŠΈλžœμ§€μ…˜ ν”„λ‘œνΌν‹°λ₯Ό ν•œλ²ˆμ— μ§€μ •ν•  수 μžˆλŠ” shorthand이닀.

κΈ°λ³Έν˜• transition: <transition-propertyκ°’> || <transition-durationκ°’ || <transition-timing-functionκ°’> || <transition-delayκ°’>

κΈ°λ³Έκ°’ transition: all 0 ease 0

ν”„λ‘œνΌν‹°κ°’μ„ μž‘μ„±ν•˜λŠ” μˆœμ„œλŠ” 상관이 μ—†λ‹€. λ‹€λ§Œ transition-duration은 λ°˜λ“œμ‹œ μ§€μ •ν•΄μ•Ό ν•œλ‹€.


μ°Έκ³ 

poiemaweb 2-14 νŠΈλžœμ§€μ…˜ λ„μ„œ - HTML + CSS + μžλ°”μŠ€ν¬λ¦½νŠΈ μ›Ή ν‘œμ€€μ˜ 정석


πŸ‘†

πŸ“… 2022-07-23

Last updated