๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

CSS๐Ÿ”ง/css&css3 ์• ๋‹ˆ๋ฉ”์ด์…˜6

์• ๋‹ˆ๋ฉ”์ด์…˜ ์ˆซ์ž ์นด์šดํŠธ ๋Œ์•„๊ฐ€๊ธฐ ์ด๋ ‡๊ฒŒ ์ˆซ์ž๊ฐ€ ์นด์šดํŠธ ์ž๋™์œผ๋กœ ๋Œ์•„๊ฐ€๊ฒŒ ํ•˜๊ธฐ html ํƒœ๊ทธ๋ฅผ ์ˆซ์ž ์™ผ์ชฝ๊ณผ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๋‚˜๋ˆ„์–ด class ๋ฅผ ๊ณตํ†ต์œผ๋กœ ๋ณ€๊ฒฝํ• ์ˆ˜ ์žˆ๊ฒŒ ์ง€์ •ํ•œ๋‹ค. ๋ฉˆ์ถ”๋Š” ์ˆซ์ž๊ฐ€ ๋งจ ์œ„๋กœ ์˜ฌ์ˆ˜ ์žˆ๋„๋ก ์ฐจ๋ก€๋Œ€๋กœ ๋‚˜์—ดํ•ด์ค€๋‹ค. display flex ์œผ๋กœ ๋ฐฐ์น˜ํ•ด์ฃผ๋ฉด ์•„๋ž˜๋กœ ์ญ‰ ๋‚˜์—ด๋จ overflow hidden ์œผ๋กœ ๊ฐ์ถฐ์ค€๋‹ค. @keyframes moveNumber { /* transform: translateY(calc(-100% + 116px));*/ /* em ์€ ํฐํŠธํฌ๊ธฐ๋ฅผ ๋”ฐ๋ผ๊ฐ€๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋ฐ”์ผ์—์„œ ๊ฐ™์ด ์ค„์–ด๋“ค๋„๋ก ์กฐ์ •*/ /* ํฐํŠธํฌ๊ธฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•  ๊ฒฝ์šฐ */ 0% { transform: translateY(calc(-100% + 1.44em)); } 100% { transform: translateY(0); } } .mai.. 2022. 12. 21.
์„  ์œ„์—์„œ ์•„๋ž˜๋กœ ๋ฐ˜๋ณตํ•˜๊ธฐ transform-origin ๋ฐฉ๋ฒ•1 ์„ ์„ ์œ„์• ์„œ ์•„๋ž˜๋กœ ๋Š˜์–ด๋‚˜๋Š” ํฌ๊ธฐ ์กฐ์ ˆ ๋‹ค์‹œ ์œ„๋กœ ์˜ฌ๋ผ๊ฐ€๋Š” ๋ฐ˜๋ณต ์• ๋‹ˆ๋ฉ”์ด์…˜ transform-origin: top ์Šค์ผ€์ผ y๋ฅผ 0-1๋กœ ์•„๋ž˜๋กœ ๋Š˜๋ฆฌ๊ณ  transform-origin: bottom ์Šค์ผ€์ผ y๋ฅผ 1-0์œผ๋กœ ์ค„์–ด๋“ค๊ฒŒํ•œ๋‹ค. @keyframes scaleLine { /* ์‹œ์ž‘์œ„์น˜ ์œ„๋กœ ๋ฐ”๊พธ๊ณ  ๊ณ ์ •*/ 0% { transform-origin: top; } 49% { transform-origin: top; } /* ์•„๋ž˜๋กœ ๋‚ด๋ฆฌ๋ฆฌ๋ฉฐ ์œ„์น˜ ๊ณ ์ • */ 50% { transform: scaleY(1); transform-origin: bottom; } 100% { transform: scaleY(0); transform-origin: bottom; } } 0-49% ๊นŒ์ง€๋Š” ์œ„์—์„œ ๋‚ด๋ฆฌ๋Š”๊ฒƒ 50-10.. 2022. 12. 2.
CSS @keyframes ์• ๋‹ˆ๋ฉ”์ด์…˜ ์†๋„ ๋‹ค๋ฅด๊ฒŒ ์ฃผ๊ธฐ /* ์• ๋‹ˆ๋ฉ”์ด์…˜ํšจ๊ณผ ์†๋„ ๋‹ค๋ฅด๊ฒŒ ์ฃผ๊ธฐ */ @keyframes moveCircle { 0 { opacity: 1; } 100% { transform: translateY(-500px); opacity: 0; } } .main_visual .circle_wrap span { position: absolute; left: 0; bottom: 0; width: 100px; height: 100px; border-radius: 50%; background: #b7ff0a; opacity: 1; animation: moveCircle 3s infinite; } 2022. 9. 29.
๋ณตํ•ฉ ์• ๋‹ˆ๋ฉ”์ด์…˜ @keyframes ๋ณตํ•ฉ์• ๋‹ˆ๋ฉ”์ด์…˜ : ์—ฌ๋Ÿฌ๋ฒˆ์— ๊ฑธ์ณ์„œ ๋™์ž‘, ์ž๋™์• ๋‹ˆ๋ฉ”์ด์…˜ ์ ์šฉ๋ฒ• @keyframes moveBox (ํ•จ์ˆ˜๋ช…) ์˜ˆ์‹œ @keyframes moveBox { 50% { transform:translateX(500px); } } ์ด๋ฆ„์ง€์ • ํ•จ์ˆ˜๋ช…์€ ์นด๋ฉœํ‘œ๊ธฐ๋ฒ• = ๋™์‚ฌ+๋ช…์‚ฌ๋กœ ํ‘œํ˜„ moveBox (๋Œ€๋ฌธ์ž๋ฅผ ๋‘๋ฒˆ์งธ ๋ช…์‚ฌ๋ถ€ํ„ฐ) (์ค‘๋ณต๋ถˆ๊ฐ€) ex. moveBox, changeColor, fadeCover, moveBox02 % ์• ๋‹ˆ๋ฉ”์ด์…˜์‹œ๊ฐ„์— ๋Œ€ํ•œ ๋ฐฑ๋ถ„์œจ, ์• ๋‹ˆ๋ฉ”์ด์…˜์‹œ๊ฐ„์ด 1์ดˆ์ธ ๊ฒฝ์šฐ 50%๋Š” 0.5์ดˆ์ž„ 0%, 100%๋Š” ์ ์ง€์•Š์„๊ฒฝ์šฐ ์ตœ์ดˆ์ƒํƒœ (0%๋กœ ์ ์„์‹œ ์ตœ์ดˆ์œ„์น˜๋กœ ์ ์šฉ๋˜๋ฏ€๋กœ ์ƒ๋žตํ•œ๋‹ค) ์†์„ฑ์ •์˜ animation: name duration timing-function delay iteration-count direct.. 2022. 9. 26.
๋‹จ์ผ ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋‹จ์ผ์• ๋‹ˆ๋ฉ”์ด์…˜ - ํ•œ๋ฒˆ๋งŒ ๋™์ž‘ transition:all ๋˜๋Š” ๊ฐœ๋ณ„์†์„ฑ๋ช… 1s [์ง€์—ฐ์‹œ๊ฐ„] [ease] ease ์ฒ˜์Œ๊ณผ ๋์ด ๋А๋ฆฌ๊ณ  ์ค‘๊ฐ„์ด ๋น ๋ฆ„, ์ฃผ๋กœ์‚ฌ์šฉ ease-in(๊ฐ€์†) ์ฒ˜์Œ์€ ๋А๋ฆฌ๊ณ  ๋์—์„œ ๋นจ๋ผ์ง ex. ์šฐ์ฃผ์„ ์ด ๋ฐ–์œผ๋กœ ๋‚˜๊ฐˆ๋•Œ - ease-out(๊ฐ์†): ์ฒ˜์Œ์€ ๋น ๋ฅด๊ณ  ๋์—์„œ ๋А๋ ค์ง ex. ํ™”๋ฉด๋ฐ–์—์„œ ์•ˆ์œผ๋กœ ๋“ค์–ด์˜ฌ๋•Œ - ease-in-out: ease์™€ ๊ฐ™์ง€๋งŒ ์ค‘๊ฐ„์†๋„๊ฐ€ ease๋ณด๋‹ค ๋ถ€๋“œ๋Ÿฌ์›€ ex. ๋ฐ˜๋ณต์• ๋‹ˆ๋ฉ”์ด์…˜์— ์‚ฌ์šฉ - steps(5) ex. ํƒ€์ดํ•‘ ์• ๋‹ˆ๋ฉ”์ด์…˜์— ์‚ฌ์šฉ - cubic-bezier(1,0,0,1) /* easeInOutExpo*/ ex. ํŠน์ˆ˜ํ•œ ์›€์ง์ž„ (์Šคํ”„๋ง, ๋‹ค์ด๋‚˜๋ฏนํ•œ์›€์ง์ž„)์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์‚ฌ์šฉ ํฌ๋กฌ๊ฐœ๋ฐœ์ž๋ชจ๋“œ๋กœ ์ปค์Šคํ…€, https://easings.co/ ์ด์šฉ - linear.. 2022. 9. 23.
์• ๋‹ˆ๋ฉ”์ด์…˜1 2022. 9. 23.