λ©μμ΄ μ¬μμ²λΌπ¦ νλ‘ νΈμλ μ€μΏ¨ 1κΈ° 2μ£Όμ°¨(μ) νκ³ - November 10, 2021.
μμ ν λ μΌμμ 근무νμλ μ΄μμ§ κ°λ°μλμ νΉκ°μ λ£κ³ λ°°μμλ λμ΄ μλ€λ μκ°κ³Ό, κ·ΈλΌμλ λ λν μ΄ κΈΈμ΄ μ μ±μ λ§λ€κ³ μκ°νκΈ° λλ¬Έμ μ΄μ μ΄ λ μκΈ°λ κ²μ λκΌλ€. λΉμ 곡μλ‘ μμνμ ¨κΈ° λλ¬Έμ μ€κ°μ€κ° 'μ²μμ νλ¦'μ λ§μνμ€ λ λ μ΄μ μ΄ λλ κ² κ°λ€.
μ§κΈμ μ΄λ―Έ κ²½μ§μ μ€λ₯΄μ μνλΌ λ΄κ° μμλ£λ λ΄μ©λ³΄λ€ λͺ» μμλ£λ λ΄μ©μ΄ ν¨μ¬ λ§μμ§λ§π μ€λ νΉκ° λ΄μ© λ©λͺ¨ν κ±° μ μ 리ν΄λλ€κ° νμν μκ°μ μ κ·Ή νμ©ν κ²μ΄λ€. κ·Έλ¦¬κ³ μμ΄μ μΉμν΄μ ΈμΌκ² λ€κ³ λκΌλ€. μ μ΅ν μκ°μ΄μλ€ π
μ¬λ¬λͺ¨λ‘ μμΉ¨λΆν° μκ°μ΄ λ§μλ λ μ΄λ€. λ΄κ° λ무 λΆμ‘±νκ³ λ°°μΈ λ΄μ©μ λ λ무 λ§μ΄ λ¨μμλ€λ μκ°μ μλ°κ°μ λκ»΄μμ, κ³μ μ μ μ€μ¬κ°λ©΄μ 곡λΆνλκΉ λͺΈμ΄ λ§μ΄ μ§μΉλ κ²μ λκΌλ€.
νμΌ μ£Όλ§ κ΅¬λΆν κ² μμ΄ μ§κΈκΉμ§ λ무 λ¬λ €μμ μ€λμ μ‘°κΈ μ¬μ΄κ°λ λ λ‘ μ νλ€ π₯ λ°°μ΄ λ΄μ© λΉ λ₯΄κ² 볡μ΅νκ³ νμλ³΄λ€ μΌμ° μ κ²μ΄λ€. 컨λμ κ΄λ¦¬λ μ€λ ₯μ΄λκΉ πͺ!!
μ₯κΈ°μ μ΄λ€. 50λ―Έν° λ¬λ¦¬κΈ°μ²λΌ λ¬λ¦¬μ§ λ§μ.
(+) γ γ νλ€λ³΄λ λ λ¦μ΄μ‘μ΄........
z-index
λ₯Ό 10λ¨μλ‘ μ‘°μ νλ λ°©λ²μ μ¬λ¬ κΈ°μ
μμ λ§μ΄ μ°μΈλ€. μΆκ° λ° μμΈμ¬ν λ°μ μ 1λ¨μλ‘ λ μΈλ°ν μ‘°μ ν μ μκΈ° λλ¬Έ.<!-- ~~ μμ -->
, <!-- //~~ λ -->
button
λ§λ€κΈ°κ±°μ°½ν μ΄λ¦μ΄ λΆμλ€ π€£ μ€λλ λλΌμ§λ§ μνλ λΆλ€μ λ²νΌμΌλ‘ μνμ λ΄λ¨λ€. λλ¨ν΄... λλ λ°°μ΄ λ΄μ©μ μμ©ν΄λ΄€λ€.
animation
- card flip πμ΄μ ꡬνν΄λ΄€λ μΉ΄λ ν립μ μ€λμ animation
μΌλ‘ λ§λ€μ΄λ³΄λ©΄μ 보좩 μ€λͺ
μ λ€μλ€. λ€μ 볡μ΅νλ©΄μ μμ± νλνλλ₯Ό μ£Όμμ²λ¦¬ ν΄λ³΄λ μ΄μ μ΄ν΄κ° μ’ λλ κ² κ°μλ€ π‘ λλ κΈλ‘ μ¨μΌ λ¨Έλ¦Ώμμ λ± μ λ¦¬κ° μλκΈ° λλ¬Έμ 곡λΆνλ €κ³ ν΅μ¬λ§ νμ΄ μ¨λ΄€λ€.
1. 컨ν μ΄λ μμ νμ ν¨λμ΄ μκ³ , κ·Έ μμ μΉ΄λ μλ©΄ μμ΄ν κ³Ό μΉ΄λ λ·λ©΄ μμ΄ν μ΄ μλ€.
<div class="컨ν μ΄λ"> <div class="νμ ν¨λ"> <div class="μΉ΄λμ">μλ©΄</div> <div class="μΉ΄λλ€">λ·λ©΄</div> </div> </div>
(λ μΉ΄λκ° κ΅¬λΆλκ² μκΉμ 쀬λ€.)
.μΉ΄λμ { background-color: #fc9090; } .μΉ΄λλ€ { background-color: #fddc8a; }
2. 컨ν μ΄λμ, νμ ν¨λμ ν¬ν¨ν μΉ΄λλ€μ ν¬κΈ°λ λͺ¨λ κ°μμΌ νλ€. 컨ν μ΄λμ μΌμ ν¬κΈ°(μΉ΄λ ν¬κΈ°κ° λ κ°)λ₯Ό μ§μ ν΄μ€ λ€, λλ¨Έμ§ μμ΄ν λ€μ λͺ¨λ
width: 100%;
,height: 100%
κ°μ μ€λ€..컨ν μ΄λ { width: 170px; height: 240px; }
.νμ ν¨λ, .μΉ΄λμ, .μΉ΄λλ€ { width: 100%; height: 100%; }
λ¬Όλ‘ μΉ΄λμ, μΉ΄λλ€μ μ΄λ―Έμ§λ₯Ό μ½μ νλ€λ©΄, μ΄λ―Έμ§μλ λκ°μ΄ width, height κ°μ 100%λ‘ λ§μΆ°μ€μΌ νλ€.
3. μ΄μ μΉ΄λμ, λ€λ₯Ό λΆμ¬μ£ΌκΈ° μν΄ μΉ΄λ λ·λ©΄μ λ€μ§ν μνλ‘ λ§λ€μ΄ μ€λ€.
.μΉ΄λλ€ { background-color: #fddc8a; transform: rotateY(180deg); }
4. μΉ΄λ μ, λ€λ©΄μ ν¨κ» κ²Ήμ³μ§ μνλ‘ λ§λ€κΈ° μν΄, μΉ΄λ μλ©΄μ
position: absolute;
μ μΈμΌλ‘ μ λμμΉν μμΌμΌ νλ€.
κ·Έλ°λ°absolute
λstatic
μ΄ μλ λΆλͺ¨ μμΉλ₯Ό μ°Έκ³ νλ―λ‘, λΆλͺ¨ 컨ν μ΄λμposition: relative;
λ₯Ό μ£Όμ΄μΌ νλ€. μ΄λ κ² μνλ©΄<body>
λ₯Ό μ°Έκ³ ν κ²μ΄λ€..컨ν μ΄λ { width: 170px; height: 240px; position: relative; } .μΉ΄λμ { background-color: #fc9090; position: absolute; }
5. μΉ΄λκ° μ»¨ν μ΄λμ νλ©΄μ λ«κ³ νμ ν΄μΌ νλ―λ‘ νμ ν¨λμ
transform-style: preserve-3d;
μ μΈμ ν΄μΌνλ€..νμ ν¨λ { transform-style: preserve-3d; }
preserve-3d
μ΄ν΄νκΈ° πΆβpreserve-3d
κ°λ
μ μ νν μκΈ° μν΄ MDN λ¬Έμλ₯Ό μ°Έκ³ ν΄λ³΄μλ€.
(https://developer.mozilla.org/en-US/docs/Web/CSS/transform-style)
transform-style
μ λΆλͺ¨ 컨ν
μ΄λκ° μλ μμ μμμ μ§μ ν΄μ£Όλ κ²μ΄λ€.transform-style: flat;
transform
λ μ§,transform-style: preserve-3d;
transform
λ μ§λ₯Ό μ ν΄μ£Όλ μμ±μ΄λ€.inherit
(μμ)λμ§ μκΈ° λλ¬Έμ, 3D ν¨κ³Όκ° νμν λͺ¨λ 'non-leaf descendents' μμμ μ μΈμ΄ νμνλ€.leaf
κ° μμμ΄ μλ λ
Έλλ€μ μ§μΉνλ€κ³ νλ€. λ°λΌμ μ¬κΈ°μλ non-leafλκΉ, 컨ν
μ΄λ μμμ μμμ κ°μ§λ κ·Έλ¦ μν (CSS diner μ μμ²λΌ) μμ΄ν
λ€μλ λͺ¨λ transform-style: preserve-3d;
μ μΈμ ν΄μ€μΌ νλ€λ λ»μΌλ‘ 보μΈλ€.).νμ ν¨λ
μ ν΄λΉ μ μΈμ ν κ²μ΄λ€.
6. μ°λ¦¬λ
.μΉ΄λμ
κ³Ό.μΉ΄λλ€
κ° νλμ μΉ΄λκ° λκΈ°λ₯Ό μνλ€. (λ¨μν κ²Ήμ³μ§ μν λ§κ³ ) κ·Έλ¬λ―λ‘.μΉ΄λμ
μ λ³Έλ λ·λ©΄ (rotateY(180deg)
νμ λ λͺ¨μ΅)κ³Ό.μΉ΄λλ€
μ λ³Έλ μλ©΄ (rotateY(0deg)
νμ λ λͺ¨μ΅)μ 보μ΄μ§ μμμΌ ν κ²μ΄λ€.
backface-visibility: hidden;
μ μΈμ κ°κ° ν΄μ£Όμ..μΉ΄λμ { background-color: #fc9090; position: absolute; backface-visibility: hidden; } .μΉ΄λλ€ { background-color: #fddc8a; transform: rotateY(180deg); backface-visibility: hidden; }
7. μ΄μ λ€ μλ€. μ λλ©μ΄μ μ λ§λ€κ³
@keyframes μΉ΄λν립 { from { transform: rotateY(0); } to { transform: rotateY(360deg); } }
8. νμ ν¨λμ μ λλ©μ΄μ μ μ£Όμ!
.νμ ν¨λ { transform-style: preserve-3d; animation: μΉ΄λν립 5s infinite; }
9. μ΄λλ‘λ©΄ λ°λ°νκ² νμ νλκΉ
perspective
μκ·Όλ²μ μ£Όλ©΄ μμ±μ΄λ€..컨ν μ΄λ { width: 170px; height: 240px; position: relative; perspective: 400px; }
μΉ΄λμ μ¬λ°±μ μ£Όλ©΄ λ€μκ³Ό κ°μ μ λλ©μ΄μ
μ΄ λλ€! μ 리νλ λΏλ― :)