17 Transitions & Transforms

  1. transition(๋‹จ์ถ•): css ์†์„ฑ์˜ ์‹œ์ž‘๊ณผ ๋์„ ์ง€์ •(์ „ํ™˜ํšจ๊ณผ)ํ•˜์—ฌ ์ค‘๊ฐ„ ๊ฐ’์„ ์• ๋‹ˆ๋ฉ”์ด์…˜

    • ๊ฐœ๋ณ„์†์„ฑ

      • transition-property: ์ „ํ™˜ ํšจ๊ณผ๋ฅผ ์‚ฌ์šฉํ•  ์†์„ฑ ์ด๋ฆ„ (๊ธฐ๋ณธ๊ฐ’: all)

        • all: ๋ชจ๋“  ์†์„ฑ์— ์ ์šฉ

        • ์†์„ฑ์ด๋ฆ„: ์ „ํ™˜ ํšจ๊ณผ๋ฅผ ์‚ฌ์šฉํ•  ์†์„ฑ ์ด๋ฆ„

      • transition-duration: ์ „ํ™˜ ํšจ๊ณผ์˜ ์ง€์†์‹œ๊ฐ„ ์„ค์ • (๊ธฐ๋ณธ๊ฐ’: 0s)

        • 1s == 1000ms

        • 0.4s == .4s

      • transition-timing-function: ํƒ€์ด๋ฐ ํ•จ์ˆ˜ ์ง€์ •(ease)

        • ease : ๋น ๋ฅด๊ฒŒ-๋Š๋ฆฌ๊ฒŒ (cubic-bezier(.25,.1,.25,1))

          -linear: ์ผ์ •ํ•˜๊ฒŒ (cubic-bezier(0,0,1,1))

        • ease-in: ๋Š๋ฆฌ๊ฒŒ-๋น ๋ฅด๊ฒŒ(cubic-bezier(0.42,0,1,1))

        • ease-out: ๋น ๋ฅด๊ฒŒ-๋Š๋ฆฌ๊ฒŒ (cubic-bezier(0,0,0.58,1))

        • ease-in-out: ๋Š๋ฆฌ๊ฒŒ-๋น ๋ฅด๊ฒŒ-๋Š๋ฆฌ๊ฒŒ (cubic-bezier(0.42,0,.58,1))

        • cubic-bezier(n,n,n,n): ์ž์‹ ๋งŒ์˜ ๊ฐ’ ์ •์˜(0~1)

        • steps(n): n๋ฒˆ ๋ถ„ํ• ๋œ ์—๋‹ˆ๋ฉ”์ด์…˜

      • transition-delay: ์ „ํ™˜ ํšจ๊ณผ์˜ ๋Œ€๊ธฐ์‹œ๊ฐ„ ์„ค์ •

        • ์‹œ๊ฐ„: ์ „ํ™˜ ํšจ๊ณผ์˜ ๋Œ€๊ธฐ ์‹œ๊ฐ„์„ ์„ค์ • (๋ช‡s)

  2. transform

    • ์š”์†Œ์˜ ๋ณ€ํ™˜ ํšจ๊ณผ(๋ณ€ํ˜•)๋ฅผ ์ง€์ •

    • ์‚ฌ์šฉ์˜ˆ์‹œ

        .box{
            transform: ๋ณ€ํ™˜ํ•จ์ˆ˜1 ๋ณ€ํ™˜ํ•จ์ˆ˜2 ๋ณ€ํ™˜ํ•จ์ˆ˜3 ...;
            transform: ์›๊ทผ๋ฒ• ์ด๋™ ํฌ๊ธฐ ํšŒ์ „ ๊ธฐ์šธ์ž„
        }
    • ๋ณ€ํ™˜ 2D ์†์„ฑ

      • translate(x, y): ์ด๋™(x์ถ•, y์ถ•) - ๋‹จ์œ„: ๋‹จ์œ„

        • translateX(x)

        • translateY(y)

        • position์ฒ˜๋Ÿผ ๋ฐฐ์น˜ ํ›„ ๋๋‚ผ ๋•Œ๊ฐ€ ์•„๋‹ˆ๋ผ ์ง€์†์ ์œผ๋กœ ์ด๋™ํ• ๋•Œ ์“ฐ๊ธฐ ์ข‹์Œ

        • position์œผ๋กœ animation์„ ๊ตฌ์„ฑํ•˜๋ฉด ์ตœ์ ํ™” ๋˜์ง€ ์•Š์€์ƒํƒœ

      • scale(x,y): ํฌ๊ธฐ(x์ถ•, y์ถ•) - ๋‹จ์œ„: ์—†์Œ(๋ฐฐ์ˆ˜)

        • scaleX(x)

        • scaleY(y)

      • rotate(degree): ํšŒ์ „(๊ฐ๋„) - ๋‹จ์œ„: deg

      • skew(x-deg, y-deg): ๊ธฐ์šธ์ž„ - ๋‹จ์œ„: deg

        • skewX(x-deg)

        • skewY(y-deg)

      • matrix(n,n,n,n,n,n): 2์ฐจ์› ๋ณ€ํ™˜ ํšจ๊ณผ

    • ๋ณ€ํ™˜ 3D ์†์„ฑ

      • translate3d(x, y,z): ์ด๋™(x์ถ•, y์ถ•, z์ถ•) - ๋‹จ์œ„: ๋‹จ์œ„

        • translateZ(z)

      • scale3d(x,y,z): ํฌ๊ธฐ(x์ถ•, y์ถ•, z์ถ•) - ๋‹จ์œ„: ์—†์Œ(๋ฐฐ์ˆ˜)

        • scaleZ(z)

      • rotate3d(x, y, z, a): ํšŒ์ „(x๋ฒกํ„ฐ, y๋ฒกํ„ฐ, z๋ฒกํ„ฐ, ๊ฐ๋„) - ๋‹จ์œ„: deg

        • rotateX(x)

        • rotateY(y)

        • rotateZ(z)

      • perspective(n): ์›๊ทผ๋ฒ•(๊ฑฐ๋ฆฌ) - ๋‹จ์œ„

        • ์‚ฌ์šฉ์‹œ ๋งจ ์•ž์— ์„ ์–ธํ•  ๊ฒƒ(์•ˆ๊ทธ๋Ÿฌ๋ฉด ์ ์šฉ ์•ˆ๋˜ ๋ณด์ž„)

      • matrix(n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n): 3์ฐจ์› ๋ณ€ํ™˜ ํšจ๊ณผ

    • ์ผ๋ฐ˜ ์†์„ฑ

      • trnasform-origin: ์š”์†Œ ๋ณ€ํ™˜ ๊ธฐ์ค€์ ์„ ์„ค์ •

        • X์ถ•: left, right, center, %, ๋‹จ์œ„ (๊ธฐ๋ณธ๊ฐ’: 50%)

        • Y์ถ•: top, bottom, center, %, ๋‹จ์œ„ (๊ธฐ๋ณธ๊ฐ’: 50%)

        • Z์ถ•: ๋‹จ์œ„ (๊ธฐ๋ณธ๊ฐ’: 0)

      • transform-style: 3D ๋ณ€ํ™˜ ์š”์†Œ์˜ ์ž์‹ ์š”์†Œ๋„ 3D ๋ณ€ํ™˜์„ ์‚ฌ์šฉํ• ์ง€ ์„ค์ •

        • flat: ์ž์‹์š”์†Œ์˜ 3D ๋ณ€ํ™˜์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ(๊ธฐ๋ณธ๊ฐ’)

        • preserve-3d: ์ž์‹ ์š”์†Œ์˜ 3D ๋ณ€ํ™˜์„ ์‚ฌ์šฉํ•จ

      • perspective: ํ•˜์œ„ ์š”์†Œ๋ฅผ ๊ด€์ฐฐํ•˜๋Š” ์›๊ทผ ๊ฑฐ๋ฆฌ๋ฅผ ์„ค์ •

        • px, em, cm๋“ฑ ๋‹จ์œ„๋กœ ์ง€์ •

        • ๋˜๋„๋ก ์ƒ์œ„์š”์†Œ์— ์ ์šฉํ•˜๋Š”๊ฒŒ ์ข‹๋‹ค(๊ด€์ฐฐ ๋Œ€์ƒ์˜ ๋ถ€๋ชจ์š”์†Œ)

        • ๊ธฐ์ค€์ : perspective-origin

          transform: perspective() ๋ณ€ํ™˜ํ•จ์ˆ˜๋Š” ๊ด€์ฐฐ๋Œ€์ƒ์— ์ง์ ‘ ์ ์šฉํ•˜์—ฌ ๊ทธ ๋Œ€์ƒ์„ ๊ด€์ฐฐํ•˜๋Š” ์›๊ทผ ๊ฑฐ๋ฆฌ ์„ค์ •! ๊ธฐ์ค€์ : transform-origin

      • perspective-origin: ์›๊ทผ ๊ฑฐ๋ฆฌ์˜ ๊ธฐ์ค€์  ์„ค์ •

        • X์ถ•: left, right, center, %, ๋‹จ์œ„ (๊ธฐ๋ณธ๊ฐ’: 50%)

        • Y์ถ•: top, bottom, center, %, ๋‹จ์œ„ (๊ธฐ๋ณธ๊ฐ’: 50%)

      • backface-visibility: 3D ๋ณ€ํ™˜์œผ๋กœ ํšŒ์ „๋œ ์š”์†Œ์˜ ๋’ท๋ฉด ์ˆจ๊น€์„ ์„ค์ •

        • visible: ๋’ท๋ฉด ์ˆจ๊ธฐ์ง€ ์•Š์Œ(๊ธฐ๋ณธ๊ฐ’)

        • hidden: ๋’ท๋ฉด ์ˆจ๊น€

      • matrix(a,b,c,d,e,f): ์š”์†Œ์˜ 2์ฐจ์› ๋ณ€ํ™˜(transform) ํšจ๊ณผ๋ฅผ ์ง€์ •

        • scale(), skey(), translate()๊ทธ๋ฆฌ๊ณ  rotate()๋ฅผ ์ง€์ •

          ์š”์†Œ์— ์ผ๋ฐ˜ ๋ณ€ํ™˜(transforms)ํ•จ์ˆ˜ (2d, 3d)๋ฅผ ์‚ฌ์šฉํ•˜๋”๋ผ๋„ ๋ธŒ๋ผ์šฐ์ €์— ์˜ํ•ด matrix ํ•จ์ˆ˜๋กœ ๊ณ„์‚ฐ๋˜์–ด ์ ์šฉ๋œ๋‹ค. 2D ๋ณ€ํ™˜ ํ•จ์ˆ˜๋Š” matrix๋กœ 3D ๋ณ€ํ™˜ ํ•จ์ˆ˜๋Š” matrix3d๋กœ ๋”ฐ๋ผ์„œ ์ผ๋ฐ˜์ ์ธ ๊ฒฝ์šฐ๋Š” matrix ํ•จ์ˆ˜๊ฐ€ ์•„๋‹Œ ์ผ๋ฐ˜๋ณ€ํ™˜ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

Last updated