[CSS] Translate

ChenΒ·2024λ…„ 6μ›” 1일

CSS

λͺ©λ‘ 보기
1/8
post-thumbnail

νŠΈλžœμŠ€νΌμ„ μž˜ν•΄μ•Ό μΈν„°λž™μ…˜λ„ 쓰리디도 더 잘 μ΄ν•΄ν•˜λ‹ˆκΉŒ!

λ‹€λ₯Έ CSSλŠ” ν•„μš”ν•  λ•Œ μ°Ύμ•„λ³΄λŠ” 거둜 ν•˜κ³  transform만 λ”°λ‘œ 정리해보렀함


CSS transform이 쒋은 μ΄μœ λŠ” ν•˜λ“œμ›¨μ–΄ 가속을 이용(즉, GPU μ‚¬μš©)ν•΄μ„œ μ„±λŠ₯이 μ’‹μŒ
position : absolute둜 ν¬μ§€μ…˜κ°’μœΌλ‘œ μ΄λ™μ‹œν‚€λŠ” 것보닀, translate둜 μ΄λ™μ‹œν‚€λŠ” 게 λ„€μ΄ν‹°λΈŒμ•± μˆ˜μ€€μœΌλ‘œ λΆ€λ“œλŸ½κ²Œ μ›€μ§μΈλ‹€λŠ” ν™•μ—°ν•œ 차이가 있음

translate()

double values => vector [tx, ty]
single values => vector [tx, 0]


.parent:hover > .translate {
        /* transform: translate(3em, 100px); */ 
        transform: translate(100px, 100px);
    }

translateX()

.parent:hover > .translateX {
        transform: translateX(100%);
    }

translateY()

웃긴 건 λ°©ν–₯이 λ°˜λŒ€λ‹€(?)
μŒμˆ˜κ°€ μœ„λ°©ν–₯, μ–‘μˆ˜κ°€ μ•„λž˜λ°©ν–₯이닀

.parent:hover > .translateY {
        transform: translateY(70px);
    }

translateZ (μ˜μ›νžˆ μ•ˆλ…•...✨)

μ•„ μ™œ μ—†μ• λŠ”λ° γ… γ… 

μ–΄λ–€ μΉœκ΅¬μ˜€λŠ”μ§€ λ³΄μ—¬μ£Όμžλ©΄

κ°€λ§Œ μƒκ°ν•΄λ³΄λ‹ˆ μ—†μ•¨λ§Œ ν–ˆλ„€? μΈμ •ν•œλ‹€

translate3d

translate3d(tx, ty, tz)
x, yλŠ” length, % λ‘˜ λ‹€ κ°€λŠ₯인데 zλŠ” length ONLY

μ•„λ‹ˆ zλ₯Ό κ·Έλ ‡κ²Œ μ“Έ κ±°λ©΄ 그럼 λ©”μ†Œλ“œλͺ… λ‹€μ‹œ μ§€μœΌμ…ˆ...
3d λŠλ‚Œμ΄ μ•ˆ λ‚˜μž–μŒ! 따지고보면 2d인데..
tzλŠ” tx,tyκ°€ μ–΄λŠ λ°©ν–₯으둜 이동할지 μ •ν•˜λŠ” length인 κ±°λ©΄

transform: translateX(50%, 50%)

λž‘ 뭐가 닀름... 차이λ₯Ό λͺ» λŠλΌκ² λŠ”λ°.. μ•„μ‹œλŠ” 뢄은 plz..

.parent:hover > .translate3d {
        transform: translate3d(50%, 50%, 100px);
    }

profile
ν˜„μ‹€μ μΈ λͺ½μƒκ°€

0개의 λŒ“κΈ€