2023. 11. 19. 01:22γDevelopmentπ©π»π¦³/Dynamic Web
HSLμ μμμ νννλ λ° μ¬μ©λλ μμ λͺ¨λΈ μ€ νλλ‘,
"μμ(Hue), μ±λ(Saturation), λͺ λ(Lightness)"μ μΈ κ°μ§ μμλ‘ κ΅¬μ±λ©λλ€.
μ΄ λͺ¨λΈμ μμμ μ ννκ³ μ‘°μ νλ λ° μ§κ΄μ μΈ λ°©λ²μ μ 곡νμ¬
λ§μ λμμ΄λλ€κ³Ό μΉ κ°λ°μλ€μκ² μΈκΈ°κ° μμ΅λλ€.
κ° μμμ λν΄ μμΈν μ€λͺ
νκ² μ΅λλ€:
μμ (Hue):
μμμ 무μ§κ°μ μμ λνλ΄λ 360λ μμ μμΌλ‘ ννλ©λλ€.
μμμ 0λλΆν° 360λκΉμ§μ κ°μΌλ‘ ννλλ©°, κ°κ°μ κ°μ μμ μμμ νΉμ μμΉλ₯Ό λνλ
λλ€.
μλ₯Ό λ€μ΄, 0λ(λλ 360λ)λ λΉ¨κ°μ, 120λλ λ Ήμ, 240λλ νλμμ λλ€.
μ±λ (Saturation):
μ±λλ μμμ κ°λλ₯Ό λνλ΄λ©°, νΌμΌνΈ(%)λ‘ ννλ©λλ€.
0%μ μ±λλ νμμ‘°λ₯Ό λνλ΄λ©°, 100%λ κ°μ₯ μ λͺ
νκ³ μμν μμμ μλ―Έν©λλ€.
λͺ
λ (Lightness):
λͺ
λλ μμμ λ°κΈ°λ₯Ό λνλ΄λ©°, μ΄ λν νΌμΌνΈλ‘ ννλ©λλ€.
0%μ λͺ
λλ μμ ν κ²μ μμ, 100%λ μμ ν ν°μμ λνλ
λλ€. 50%μ λͺ
λλ μ±λμ λ°λΌ λ λ°κ±°λ μ΄λμΈ μ μλ μμμ μ€κ° ν€μ λνλ
λλ€.
μ₯μ ( merit ):
HSL μμ λͺ¨λΈμ RGB(Red, Green, Blue) λͺ¨λΈλ³΄λ€ μ¬λμ΄ μμμ μΈμνκ³ μ‘°μνλ λ°©μμ λ κ°κΉμ΄ λ°©μμ μ 곡ν©λλ€. μλ₯Ό λ€μ΄, HSLμ μ¬μ©νλ©΄ μνλ μμμ μμ‘°λ₯Ό μ½κ² μ°Ύκ³ , κ·Έ μμμ λ°κ² λλ μ΄λ‘κ² νκ±°λ, μμμ μ λͺ
λλ₯Ό μ‘°μ νκΈ° μ½μ΅λλ€. λ°λΌμ μΉ λμμΈ, κ·Έλν½ λμμΈ, λμ§νΈ μνΈ λ± λ€μν λΆμΌμμ λ리 μ¬μ©λ©λλ€.
ν΄λΉ μ½λλ€μ 컨μ
μΌλ‘λκ³ μ’λ κΉλνκ² μ½λλ₯Όμ§κΈ° μν΄ λ
Έλ ₯νμ΅λλ€
첫νλ‘μ νΈ μ 체 μλ£
μμ±λ μ½λλ μ κΉνλΈ κ³μ μμ 보μ€μμλλ‘ μ¬λ €λλλ‘ νκ² μ΅λλ€ππ
첫 νλ‘μ νΈμ΄λ€ 보λ 10μΌμ λ κ±Έλ €μ μμ±νκ²κ°λ΄μ
μ€κ°μ μ€λ₯λ λ무 λ§μ΄ λ§λ¬μκ³
μ¬μν μ€νλ€λλ¬Έμ λ€μ νμΈνκ³ κ³ μΉλ€λ³΄λ©΄ λ°λμ μ΄ νμ©...μ§λκ°λλΌκ΅¬μ^-^...
νλ‘μ νΈλ₯Ό μ§ννλ©° κ²ͺμ μ€μ λ¬Έμ λ€κ³Ό κ·Έμ λν ν΄κ²° λ°©λ²μ μ½λ λ°μ·μ ν¨κ» μμμ μ¬λ‘ μμλ‘ μ 리ν΄λ³΄κ² μ΅λλ€.
1. λ°μν λμμΈμ μ΄ν΄μ μ μ©
λ¬Έμ : λ€μν λλ°μ΄μ€ λ° νλ©΄ ν¬κΈ°μ λ§κ² μΉμ¬μ΄νΈκ° μ μ ν μ‘°μ λμ§ μμ.
λ°μν λμμΈμ λΆμ¬
μ μν₯: μΉμ¬μ΄νΈκ° λ€μν νλ©΄ ν¬κΈ°μ μ₯μΉμ λ§κ² μ‘°μ λμ§ μμΌλ©΄
μ¬μ©μκ° μ½ν μΈ λ₯Ό μ λλ‘ λ³Ό μ μμ μ μμ΅λλ€. μ΄λ μ¬μ©μκ° μ 보λ₯Ό μ°Ύκ±°λ
μνλ μμ μ μννλ λ° μ΄λ €μμ κ²ͺκ² νλ©°, μ΅μ’ μ μΌλ‘
μΉμ¬μ΄νΈ μ΄νλ‘ μ΄μ΄μ§ μ μμ΅λλ€.
ν΄κ²°: CSS λ―Έλμ΄ μΏΌλ¦¬ μ¬μ©.
css
Copy code
@media screen and (max-width: 768px) {
.container {
margin-left: var(--mb-1);
margin-right: var(--mb-1);
}
/* κΈ°ν μ€νμΌ μ‘°μ */
}
2. λ€λΉκ²μ΄μ
λ©λ΄μ λ°μν ꡬν
λ¬Έμ : λͺ¨λ°μΌ λλ°μ΄μ€μμ λ€λΉκ²μ΄μ
λ©λ΄κ° μ λλ‘ μλνμ§ μμ.
λ€λΉκ²μ΄μ λ©λ΄μ λ°μν λ¬Έμ
μ μν₯: λͺ¨λ°μΌ νκ²½μμ λ€λΉκ²μ΄μ λ©λ΄κ°
μ λλ‘ μλνμ§ μμΌλ©΄ μ¬μ©μκ° μΉμ¬μ΄νΈ λ΄μμ μννκ² μ΄λνλ λ° μ΄λ €μμ κ²ͺκ² λ©λλ€.
μ¬μ©μλ νμν μ 보μ μ½κ² μ κ·Όν μ μμ΄ λΆνΈν¨μ λλΌκ³ ,
μ΄λ μ¬μ©μ λ§μ‘±λ μ νλ‘ μ΄μ΄μ§λλ€.
ν΄κ²°: μλ°μ€ν¬λ¦½νΈλ‘ ν κΈ κΈ°λ₯ ꡬν.
javascript
Copy code
const navToggle = document.getElementById('nav-toggle'),
navMenu = document.getElementById('nav-menu');
navToggle.addEventListener('click', () => {
navMenu.classList.add('show-menu');});
3. μ€ν¬ μΉμ
μ λμ νν
λ¬Έμ : μ€ν¬ μλ ¨λλ₯Ό μκ°μ μΌλ‘ νννλ λ° μ΄λ €μ.
μ€ν¬ μΉμ μ λμ νν μ€ν¨
μ μν₯: μλ ¨λ ννμ΄ λͺ ννμ§ μμΌλ©΄
μ¬μ©μκ° κ°λ°μμ κΈ°μ μμ€μ μ νν νμ νκΈ° μ΄λ €μμ§λλ€.
μ΄λ μ λ’°μ± μ νλ‘ μ΄μ΄μ Έ ν¬νΈν΄λ¦¬μ€μ μ λ¬Έμ±μ λν μλ¬Έμ κ°μ§ μ μμ΅λλ€.
ν΄κ²°: CSSλ‘ μλ ¨λ λ° κ΅¬ν.
css
Copy code
.skills__html {
width: 80%;
}
.skills__css {
width: 70%;}
/* κΈ°ν μ€ν¬ λ° μ€νμΌ */
4. SwiperJSλ₯Ό νμ©ν ν¬νΈν΄λ¦¬μ€ μΉμ
λ¬Έμ : ν¬νΈν΄λ¦¬μ€ νλͺ©μ ν¨κ³Όμ μΌλ‘ νμνλ λ°©λ² κ³ λ―Ό.
SwiperJS νμ© λ―Έν‘
μ μν₯: ν¬νΈν΄λ¦¬μ€ νλͺ©λ€μ΄ ν¨κ³Όμ μΌλ‘ νμλμ§ μμΌλ©΄
μ¬μ©μκ° κ°λ°μμ μμ μ μ λλ‘ νμ νλ λ° μ΄λ €μμ κ²ͺμ μ μμ΅λλ€.
μ΄λ μ¬μ©μμ κ΄μ¬μ λμ§ λͺ»νκ³ , νλ‘μ νΈμ κ°μΉλ₯Ό
μΆ©λΆν μ λ¬νμ§ λͺ»νλ κ²°κ³Όλ₯Ό λ³μ μ μμ΅λλ€.
ν΄κ²°: SwiperJS λΌμ΄λΈλ¬λ¦¬ μ¬μ©.
html
Copy code
<div class="portfolio__container container swiper-container">
<!-- ν¬νΈν΄λ¦¬μ€ νλͺ©λ€ -->
</div>
javascript
Copy code
let swiperPortfolio = new Swiper('.portfolio__container', {
// Swiper μ€μ
});
5. λ€ν¬ λͺ¨λ ν κΈ κΈ°λ₯
λ¬Έμ : μ¬μ©μ μ νΈμ λ°λ₯Έ ν λ§ λ³κ²½ κΈ°λ₯ νμ.
λ€ν¬ λͺ¨λ ν κΈ κΈ°λ₯ λΆμ¬
μ μν₯: μ¬μ©μκ° μ νΈνλ ν λ§(λΌμ΄νΈ/λ€ν¬)λ₯Ό μ νν μ μλ€λ©΄,
νΉν μ΄λμ΄ νκ²½μμ μΉμ¬μ΄νΈλ₯Ό μ΄μ©νλ μ¬μ©μμκ² λμ νΌλ‘λ₯Ό μ λ°ν μ μμ΅λλ€.
μ΄λ μ¬μ©μμ μ₯μκ° μ΄μ©μ λ°©ν΄νκ³ νΈμν μ¬μ© κ²½νμ μ 곡νμ§ λͺ»ν©λλ€.
μΆκ°μ μΈ μ¬μ©μ κ²½ν μ μν₯
ν΄κ²°: λ‘컬 μ€ν 리μ§μ μλ°μ€ν¬λ¦½νΈ μ¬μ©.
javascript
Copy code
const themeButton = document.getElementById('theme-button');
themeButton.addEventListener('click', () => {
document.body.classList.toggle('dark-theme');
// λ‘컬 μ€ν 리μ§μ ν
λ§ μ μ₯});
+
μ μν μ
μ κ·Όμ± λ―Έν‘: μΉμ¬μ΄νΈκ° λ€μν μ¬μ©μ(μ₯μ κ° μλ μ¬μ©μ ν¬ν¨)μκ²
μ κ·Όν μ μλλ‘ μ€κ³λμ§ μμΌλ©΄, μ΄λ€μ΄ μ 보μ μ κ·Όνκ±°λ μλΉμ€λ₯Ό μ΄μ©νλ λ° ν° μ΄λ €μμ κ²ͺκ² λ©λλ€.
μ½λ μ΅μ ν λΆμ‘±: μΉμ¬μ΄νΈκ° λλ¦¬κ² λ‘λ©λκ±°λ λ°μνμ§ μμΌλ©΄
μ¬μ©μμ μΈλ΄μ¬μ μννκ³ , κ²°κ³Όμ μΌλ‘ μΉμ¬μ΄νΈμ μ λ’°μ±κ³Ό μ λ¬Έμ±μ μμ¬νκ² λ§λλλ€.
μ΄λ¬ν λ¬Έμ λ€μ λ°©μ§νκΈ° μν΄μλ κ°λ° κ³Όμ μμμ μ² μ ν ν
μ€ν
,
μ¬μ©μ νΌλλ°± μμ§ λ° λ°μ, κ·Έλ¦¬κ³ μ§μμ μΈ μ¬μ΄νΈ κ°μ μμ μ΄ νμν©λλ€.
+κ°μ νμ
μ κ·Όμ± κ³ λ €: alt νκ·Έ μ¬μ©, ν€λ³΄λ μ κ·Όμ± λ±μ κ³ λ €.
μ½λ 리ν©ν λ§: νλ‘μ νΈ μ§ν μ€ λ°μν μ€λ³΅ μ½λ μ 리.
νΌν¬λ¨Όμ€ μ΅μ ν: μ΄λ―Έμ§ μ΅μ ν, μ€ν¬λ¦½νΈ λΉλκΈ° λ‘λ©.
κΈ°λν΄μ£ΌμΈμ^-^