๋ชฉ์ฐจ
์ ๋ฒ์ ์ด์ด์ transition ๋ ๋ฒ์งธ timing-function์ ์์๋ณด์๋ค.
timing-function
์ ํํจ๊ณผ์ ์๊ฐ๋น ์๋๋ฅผ ์กฐ์ ํ๋ค.
๊ฐ์ ์ข ๋ฅ
1. ease : ๊ธฐ๋ณธ๊ฐ / ์ ์ ์๋๊ฐ ์ฆ๊ฐํ๋ค๊ฐ ๋๋ ค์ง
2. linear : ๋๊ฐ์ ์๋๋ก ๋๊น์ง
3. ease-in : ์ฒ์ฒํ ์์ํ์ฌ ๋๋ ๋๊น์ง ๋นจ๋ผ์ง
4. ease-out : ๋น ๋ฅด๊ฒ ์์ํด์ ๋๋ ค์ง๋ฉฐ ๋
5. ease-in-out : ์ฒ์ฒํ ์์ํด์ ๋นจ๋ผ์ก๋ค๊ฐ ๋ค์ ๋๋ ค์ง
6. steps(๋จ๊ณ ์, jump-term)
7. step-start : steps(1, start)์ ๋์ผ
8. step-end : steps(1, end)์ ๋์ผ
9. cubic-bezier(p1, p2, p3, p4) : ๋ฒ ์ง์ด ๊ณก์
1~5๊น์ง ๋ชจ๋ ๋ฒ ์ง์ด ๊ณก์ ์ผ๋ก ํํ์ด ๊ฐ๋ฅํ๋ฏ๋ก
๊ทธ๋ํ๋ก ํํ์ ํด๋ณด๋ฉด
์งํ-์๊ฐ ๊ทธ๋ํ
1. ease = cubic-bezier(0.25, 0.1, 0.25, 1.0)
2. linear = cubic-bezier(0.0, 0.0, 1.0, 1.0)
3. ease-in = cubic-bezier(0.42, 0, 1.0, 1.0)
4. ease-out = cubic-bezier(0, 0, 0.58, 1.0)
5. ease-in-out = cubic-bezier(0.42, 0, 0.58, 1.0)
steps
steps๋ ๋ณํ ๋จ๊ณ ์์ jump-term์ ๊ฐ์ผ๋ก ๋ฐ๋๋ค.
jump-term์ ์ข ๋ฅ
(jump-start, jump-end, both, none)
์ด๋ ์์ 2๊ฐ๋ start์ end๋ก ์ถ์ฝํด์ ์ธ ์ ์๋ค.
์ด๋ ๋ง์ฝ ๋จ๊ณ ์๊ฐ '5'๋ผ๋ฉด
๋ณํ๊ฐ ์ผ์์ ์งํ๋ ๋ถ๋ถ์ ์ข ๋ฅ๊ฐ ์๋์ ๊ฐ๋ค.
(0 ~ 100)
1. 0 20 40 60 80 (jump-start/start)
2. 20 40 60 80 100 (jump-end/end)
3. 0 25 50 75 100 (jump-both)
o-o-o-o-o-
-o-o-o-o-o
o-o-o-o-o
step-start & step-end
steps(1, start) / steps(1, end) ์ ๊ฐ๋ค.
์์)
div {
background: blueviolet;
transition-property: width, height, opacity;
transition-duration: 1s;
transition-delay: 0s, 1s, 1s;
transition-timing-function: steps(2, start);
}
div:hover {
width: 200px;
height: 200px;
opacity: 0.5;
}
์ถ์ฒ : MDN(https://developer.mozilla.org/en-US/docs/Web/CSS/transition-timing-function)
'๐ | WEB DEV > HTML CSS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
CSS_flexbox(1) ์ํ์ ๋ ฌ (0) | 2022.01.30 |
---|---|
HTML & CSS ํ์ฉ ํ๋ก์ ํธ_ ์นด๋์ ํ & ๋์คํ์ฑ (0) | 2022.01.28 |
CSS _transition(1) (property, timing, delay) (0) | 2022.01.14 |
CSS์ ํฌ๊ธฐ๋จ์๋ค!(px, em, rem, vw ๋ฑ) (0) | 2022.01.09 |
CSS ๊ฐ์ํด๋์ค (3)_์์ ๊ฐ์ํด๋์ค[2] (first-child, last-child) (0) | 2022.01.07 |
๋๊ธ