[CSS] λ³νκ³Ό μ ν (Transformations & Transitions)
1. λ³ν Transformations
μμμ λͺ¨μμ μ΄λνκ±°λ λ³κ²½νλ κ² (ex. hover)
λ³νμ transform μμ±μ μ¬μ©νλλ° μ΄ μμ±μ λ³ννλ €λ μμμ μΆκ°νλ κ²μ΄ μλλΌ, λ³νμ λ°μμν€λ μμμ μΆκ°νλ€. μλ μμλ₯Ό ν΅ν΄ λ€μ μ΄ν΄λ³΄μ.
.card-container {
background-color: rgb(255, 255, 255);
width: 350px;
margin: 50px auto;
box-shadow: 3px 3px 10px rgb(201, 200, 200);
}
.card-container:hover {
transform: scale(1.05);
}
λ³ννλ €λ μμλ .card-containerμ΄μ§λ§ μ¬κΈ°μ transform μμ±μ μΆκ°νλ κ²μ΄ μλκ³ , .card-container μμμ λ³νμ λ°μμν€λ μμμΈ .card-container:hoverμ μΆκ°νλ κ²μ΄λ€.
2. μ ν Transitions
transformation λ±μ μν λ³νμ μ λλ©μ΄μ μ λΆμ¬νμ¬ λΆλλ½κ² μ ννλ κ²
μ νμ css λ³ν λ°©μμ μ§μ ν΄μ£Όλ κ²μ΄λ€. μμ λ³ν μμμμ .card-container:hoverμ transform: scale(1.05)λ₯Ό μ§μ ν΄μ£Όλ©΄ .card-containerμ λ§μ°μ€λ₯Ό μ¬λ¦¬μλ§μ ν΄λΉ μμμ ν¬κΈ°κ° 1.05λ°° 컀μ§λλ°, μ΄ λ³νλ₯Ό νΈλμ§μ μ ν΅ν΄ μ’ λ λΆλλ½κ² 보μ΄λλ‘ μ€μ ν΄μ€ μ μλ€.
μ νμ transition μμ±μ μ¬μ©νλ€. μ νμ λ³νκ³Ό λ€λ₯΄κ² λ³νμ λ°μμν€λ μμκ° μλ λ³ννλ €λ μλμ μμμ μ μ©νλ€. μ νμ΄ μ μλ μμμ μ€μ²©λμ΄ μλ μμμλ μ μ©ν μ μλ€.
.card-container {
background-color: var(--sample-variable);
width: 350px;
margin: 50px auto;
box-shadow: 3px 3px 10px rgb(201, 200, 200);
transition: transform 0.2s ease 0.1s;
}
.card-container:hover{
transform: scale(1.05);
}
transition μμ±μ .card-container:hoverκ° μλ .card-container , κ·Έλ¬λκΉ λ³ννκ³ μ νλ μλ μμμ μΆκ°νλ€.
(1) property
μ νμ μ μ©νλ €λ μμ±. transform μΈμλ background-color λ± λ€μν μμ±μ μ μ©ν μ μλ€.
(2) duration
property μμ±μ λ³νκ° μΌλ§λ μ§μλ μ§ μ§μμκ°μ μ§μ νλ€.
(3) timing function
μ ν ν¨κ³Όμ μν₯μ λ°λ css μμ±μ λν μ€κ°κ° κ³μ° λ°©λ²μ μ€μ νλ€.
νμ΄λ° κΈ°λ₯μ μ¬λ¬κ°μ§κ° μ‘΄μ¬νλλ°, κ·Έ μ€μμ ease-outμ μ νμ΄ λΉ λ₯΄κ² μμνκ³ λ¦κ² λλλ κ²μ μλ―Ένκ³ ease-inμ μ νμ΄ λλ¦¬κ² μμνκ³ μλκ° ν₯μλλ κ²μ μλ―Ένλ€. κΈ°λ³Έκ°μ easeμ΄λ©°, μ΄λ μ ν κΈ°κ°λμ μΌμ νκ² λ°°λΆλλ€λ κ²μ μλ―Ένλ€.
MDN transition-timing-function
(4) delay
μ§μ°μ μ νμ΄ μμλκΈ° μ κΉμ§μ μκ°μ μ€μ νλ€. delayλ₯Ό 1sλ‘ μ€μ ν΄μ£Όλ κ²½μ°, νΉμ λ³ν μ΄λ²€νΈκ° νΈλ¦¬κ±°λλ©΄ 1μ΄ λ€μ μ νμ΄ λ°μνλ€λ λ»μ΄λ€.