1. λΌλμ€λ²νΌκ³Ό λ°°κ²½μμ κ΄κ³
λΌλμ€λ²νΌμ μ¬μ©μκ° μ νν μ μλ μ¬λ¬ κ°μ§ μ΅μ μ€ νλλ₯Ό μ ννκΈ° μν UI μμμ λλ€. μ΄λ₯Ό ν΅ν΄ μ¬μ©μλ λ€μν μ€μ μ μ‘°μ νκ±°λ μ νν μ μμ΅λλ€. ννΈ λ°°κ²½μμ μΉ νμ΄μ§λ μ±μ μ 체μ μΈ λμμΈμ κ²°μ νλ μ€μν μμ μ€ νλμ λλ€. μ μ ν λ°°κ²½μμ μ¬μ©μ κ²½νμ κ°μ νκ³ μκ°μ μΌλ‘ 맀λ ₯μ μΈ νκ²½μ μ 곡ν©λλ€.
λΌλμ€λ²νΌκ³Ό λ°°κ²½μμ λ°μ νκ² μ°κ΄λμ΄ μμ΅λλ€. μ¬μ©μκ° μνλ λ°°κ²½μμ μ ννκΈ° μν΄ λΌλμ€λ²νΌμ μ¬μ©ν μ μμ΅λλ€. λΌλμ€λ²νΌμ κ°μ μ¬μ©νμ¬ λ°°κ²½μμ λμ μΌλ‘ λ³κ²½νλ λ°©λ²μ ꡬννλ©΄, μ¬μ©μλ κ·Έλ€λ§μ κ°μΈνλ νκ²½μ μ€μ ν μ μκ² λ©λλ€.
μλ₯Ό λ€μ΄, μ¬μ©μλ "λΉ¨κ°μ", "νλμ", "μ΄λ‘μ" λ± λ€μν λ°°κ²½μ μ€μμ μνλ μμμ μ νν μ μμ΅λλ€. μ νλ λ°°κ²½μμ μΉ νμ΄μ§μ body μμλ μ±μ νλ©΄ μ 체μ μ μ©λμ΄ μκ°μ μΈ ν¨κ³Όλ₯Ό λ§λ€μ΄λ λλ€. μ΄λ₯Ό ν΅ν΄ μ¬μ©μλ μμ μκ² κ°μ₯ μ ν©ν λ°°κ²½μμ μ ννμ¬ μΉ νμ΄μ§λ μ±μ λμμΈμ λ§μΆ μ μμ΅λλ€.
κ²°λ‘ μ μΌλ‘, λΌλμ€λ²νΌμ μ¬μ©μκ° μνλ λ°°κ²½μμ μ νν μ μλ κ°λ ₯ν λꡬμ λλ€. μ νν ꡬνμ ν΅ν΄ μ¬μ©μ κ²½νμ ν₯μμν€κ³ λ λμ μκ°μ νκ²½μ μ 곡ν μ μμ΅λλ€.
2. μνλ λ°°κ²½μμΌλ‘ νλ©΄μ λ°κΎΈλ λ°©λ²
νλ©΄μ λ°°κ²½μμ μνλ μμμΌλ‘ λ°κΎΈλ λ°©λ²μ λ€μν λ°©μμΌλ‘ ꡬνν μ μμ΅λλ€. νλμ λ°©λ²μ JavaScriptλ₯Ό μ¬μ©νμ¬ λμ μΌλ‘ μ€νμΌμ λ³κ²½νλ κ²μ λλ€.
HTMLμ λΌλμ€λ²νΌκ³Ό λ°°κ²½μ λ³κ²½μ λ΄λΉν μμλ₯Ό μΆκ°ν©λλ€.
<body> <h1>λ°°κ²½μ μ ν</h1> <input type="radio" id="red" name="color" value="red"> <label for="red">λΉ¨κ°μ</label> <input type="radio" id="blue" name="color" value="blue"> <label for="blue">νλμ</label> <input type="radio" id="green" name="color" value="green"> <label for="green">μ΄λ‘μ</label> </body>
JavaScriptλ₯Ό μ¬μ©νμ¬ λΌλμ€λ²νΌμ λ³κ²½ μ΄λ²€νΈλ₯Ό μ²λ¦¬ν©λλ€.
addEventListener
λ₯Ό μ¬μ©νμ¬ λΌλμ€λ²νΌμ λ³κ²½μ λ°μνλλ‘ ν©λλ€. μ νλ λ°°κ²½μμ bodyμ μ€νμΌμbackgroundColor
μμ±μΌλ‘ μ μ©ν©λλ€.document.querySelectorAll('input[name="color"]').forEach(function(radio) { radio.addEventListener('change', function() { var selectedColor = this.value; document.body.style.backgroundColor = selectedColor; }); });
μμ κ°μ λ°©μμΌλ‘ ꡬννλ©΄ μ¬μ©μκ° λΌλμ€λ²νΌμ μ νν λλ§λ€ λ°°κ²½μμ΄ λμ μΌλ‘ λ³κ²½λμ΄ νλ©΄μ λ°μλ©λλ€. μ νλ μμμ this.value
λ₯Ό ν΅ν΄ κ°μ Έμ€κ³ , μ΄λ₯Ό document.body.style.backgroundColor
μ ν΅ν΄ body μμμ λ°°κ²½μμΌλ‘ μ μ©ν©λλ€.
μ΄λ¬ν λ°©λ²μ μ¬μ©νμ¬ μ¬μ©μκ° μνλ μμμ μ ννμ¬ λ°°κ²½μμ λ°κΏ μ μμ΅λλ€. λν, CSSλ₯Ό μ¬μ©νμ¬ λΌλμ€λ²νΌμ λν μ€νμΌμ λ³κ²½νλ©΄ μ¬μ©μκ° μ ν κ°λ₯ν μ΅μ μ λμ± λͺ ννκ² νμν μ μμ΅λλ€.
3. λΌλμ€λ²νΌμ μ΄λ²€νΈ μ²λ¦¬ λ°©λ²
λΌλμ€λ²νΌμ μ΄λ²€νΈ μ²λ¦¬λ JavaScriptλ₯Ό μ¬μ©νμ¬ κ΅¬νν μ μμ΅λλ€. μ΄λ²€νΈ μ²λ¦¬λ μ¬μ©μμ λμμ΄λ μν λ³νλ₯Ό κ°μ§νκ³ , κ·Έμ λ°λ₯Έ λμμ μννλ κ²μ λ§ν©λλ€.
λΌλμ€λ²νΌμ λ³κ²½ μ΄λ²€νΈλ₯Ό μ²λ¦¬νκΈ° μν΄μλ λ¨Όμ ν΄λΉ λΌλμ€λ²νΌ μμλ₯Ό μ νν΄μΌ ν©λλ€. querySelectorλ querySelectorAll κ°μ λ©μλλ₯Ό μ¬μ©νμ¬ μνλ λΌλμ€λ²νΌμ μ νν μ μμ΅λλ€. μ΄λ CSS μ νμλ₯Ό μ¬μ©νμ¬ μ νν©λλ€.
var radio = document.querySelector('#radioId');
μ΄μ μ νν λΌλμ€λ²νΌμ μ΄λ²€νΈλ₯Ό λ±λ‘ν΄μΌ ν©λλ€. μ΄λ₯Ό μν΄ addEventListener
λ©μλλ₯Ό μ¬μ©ν©λλ€. 첫 λ²μ§Έ μΈμλ‘ μ΄λ²€νΈ μ΄λ¦μ μ§μ νκ³ , λ λ²μ§Έ μΈμλ‘ μ΄λ²€νΈλ₯Ό μ²λ¦¬ν ν¨μλ₯Ό μ λ¬ν©λλ€.
radio.addEventListener('change', function() {
// μ¬κΈ°μ μ΄λ²€νΈλ₯Ό μ²λ¦¬νλ ν¨μ λ΄μ©μ μμ±ν©λλ€.
});
μμ κ°μ΄ μμ±νλ©΄ λΌλμ€λ²νΌμ λ³κ²½ μ΄λ²€νΈκ° λ°μνμ λ, μ§μ ν ν¨μκ° μ€νλ©λλ€. ν¨μ λ΄λΆμμλ μ΄λ²€νΈμ λν λ°μμ μμ±ν μ μμ΅λλ€. μλ₯Ό λ€μ΄, μ νλ λΌλμ€λ²νΌμ κ°μ κ°μ Έμμ λ°°κ²½μμ λ³κ²½νκ±°λ λ€λ₯Έ λμμ μνν μ μμ΅λλ€.
radio.addEventListener('change', function() {
var selectedValue = this.value;
// μ νλ κ°μ λ°λΌ λμμ μνν©λλ€.
});
μ΄λ²€νΈ ν¨μμ λ΄μ©μ μ νλ λΌλμ€λ²νΌμ κ°μ κ°μ Έμ¨ λ€μ ν΄λΉ κ°μ μ΄μ©νμ¬ μ²λ¦¬ν λμμ ꡬννλ©΄ λ©λλ€. μ¬κΈ°μλ λ°°κ²½μμ λ³κ²½, λ€λ₯Έ μμμ νμ/κ°μΆκΈ°, λ°μ΄ν° μ²λ¦¬ λ± λ€μν λμμ ν¬ν¨μν¬ μ μμ΅λλ€.
λν, event
κ°μ²΄λ₯Ό μ΄μ©νμ¬ λΌλμ€λ²νΌ μ΄λ²€νΈμ κ΄λ ¨λ λ€μν μ 보λ₯Ό μ»μ μλ μμ΅λλ€. μλ₯Ό λ€μ΄, event.target
μ μ¬μ©νμ¬ μ΄λ²€νΈλ₯Ό λ°μμν¨ μμμ λν μ 보λ₯Ό νμΈν μ μμ΅λλ€.
μ΄μ κ°μ΄ λΌλμ€λ²νΌμ μ΄λ²€νΈ μ²λ¦¬λ₯Ό JavaScriptλ‘ κ΅¬ννλ©΄ μ¬μ©μκ° λΌλμ€λ²νΌμ μ ννμ λ μνλ λμμ μνν μ μμ΅λλ€. μ΄λ κ² ν¨μΌλ‘μ¨ λΌλμ€λ²νΌμ νμ©νμ¬ μ¬μ©μκ° μνλ μ΅μ μ μ νν μ μλ UIλ₯Ό ꡬνν μ μκ² λ©λλ€.
4. λ€μν λ°°κ²½μμ μ½λμ μμ μ΄λ¦
λ€μν λ°°κ²½μμ νννκΈ° μν΄μλ CSSμμ μ¬μ©ν μ μλ λ€μν μμ μ½λμ μμ μ΄λ¦μ μμμΌ ν©λλ€. μ΄λ¬ν μμ νν λ°©μμ μ΄μ©νμ¬ μνλ μμμ μ§μ ν μ μμ΅λλ€.
4.1 RGB μμ μ½λ
RGB μμ μ½λλ λΉ¨κ°μ(Red), μ΄λ‘μ(Green), νλμ(Blue)μ μΈ κ°μ§ μμ μ±λΆμ μ‘°ν©νμ¬ μμμ νννλ λ°©λ²μ λλ€. κ° μμ μ±λΆμ 0λΆν° 255 μ¬μ΄μ κ°μΌλ‘ ννλλ©°, μμ μ½λλ λ€μκ³Ό κ°μ΄ μμ±λ©λλ€.
background-color: rgb(255, 0, 0); /* λΉ¨κ°μ */
background-color: rgb(0, 255, 0); /* μ΄λ‘μ */
background-color: rgb(0, 0, 255); /* νλμ */
μμ μμμμλ κ° μμ μ±λΆμ 255λ‘ μ€μ νμ¬ λΉ¨κ°μ, μ΄λ‘μ, νλμμ κ°κ° λνλ΄κ³ μμ΅λλ€. κ° μμ μ±λΆ κ°μ μ‘°μ ν¨μΌλ‘μ¨ λ€μν μμμ ννν μ μμ΅λλ€.
4.2 HEX μμ μ½λ
HEX μμ μ½λλ 16μ§μλ₯Ό μ¬μ©νμ¬ μμμ νννλ λ°©λ²μ λλ€. μ΄ μμ μ½λλ #μΌλ‘ μμνλ©°, λΉ¨κ°μ, μ΄λ‘μ, νλμ μ±λΆ κ°μ 16μ§μ κ°μ μ‘°ν©νμ¬ μμμ ννν©λλ€.
background-color: #FF0000; /* λΉ¨κ°μ */
background-color: #00FF00; /* μ΄λ‘μ */
background-color: #0000FF; /* νλμ */
μμ μμμμλ κ° μμ μ±λΆμ FF, 00, 00κ³Ό κ°μ΄ 16μ§μλ‘ νννμ¬ λΉ¨κ°μ, μ΄λ‘μ, νλμμ κ°κ° λνλ΄κ³ μμ΅λλ€.
4.3 μμ μ΄λ¦
CSSμμλ κΈ°λ³Έμ μΌλ‘ μμ μ΄λ¦μ μ¬μ©νμ¬ μμμ μ§μ ν μλ μμ΅λλ€. μλ₯Ό λ€μ΄, λΉ¨κ°μμ "red", μ΄λ‘μμ "green", νλμμ "blue"μ κ°μ΄ μ μ μ μμ΅λλ€.
background-color: red; /* λΉ¨κ°μ */
background-color: green; /* μ΄λ‘μ */
background-color: blue; /* νλμ */
μ΄μΈμλ CSSμμ μ¬μ©ν μ μλ λ€μν μμ μ΄λ¦μ΄ μμΌλ©°, μΉ λΈλΌμ°μ λ§λ€ μ§μνλ μμμ μ’ λ₯κ° λ€λ₯Ό μλ μμ΅λλ€.
μμμ μ€λͺ ν RGB μμ μ½λμ HEX μμ μ½λλ₯Ό μ¬μ©νμ¬ μμ κ°μ μ§μ μ§μ νκ±°λ, μμ μ΄λ¦μ μ¬μ©νμ¬ λ°°κ²½μμ μ§μ ν μ μμ΅λλ€. μ΄λ₯Ό νμ©νμ¬ λ€μν μμμ μ¬μ©νμ¬ νλ©΄μ λ°°κ²½μμ μ€μ ν μ μμ΅λλ€.
5. μ¬μ©μ κ²½ν κ°μ μ μν μΆκ° κΈ°λ₯ μ μ
μ¬μ©μ κ²½νμ κ°μ νκΈ° μν΄μλ μ¬μ©μκ° μνλ κΈ°λ₯μ μ 곡ν μ μλλ‘ λ€μν μΆκ° κΈ°λ₯μ μ μν μ μμ΅λλ€. μλλ λͺ κ°μ§ μ¬μ©μ κ²½ν κ°μ μ μν μΆκ° κΈ°λ₯ μ μμ λλ€.
5.1 ν λ§ λ³κ²½ κΈ°λ₯
μ¬μ©μμκ² ν λ§ μ νμ μμ λ₯Ό μ£Όλ κ²μ μ¬μ©μ κ²½νμ κ°μ νλ μ’μ λ°©λ²μ λλ€. ν λ§ λ³κ²½ κΈ°λ₯μ μΆκ°νμ¬ μ¬μ©μκ° μνλ ν λ§λ₯Ό μ ννλλ‘ ν μ μμ΅λλ€. μλ₯Ό λ€μ΄, λ°μ ν λ§μ μ΄λμ΄ ν λ§ μ€μμ μ νν μ μλλ‘ μ΅μ μ μ 곡ν μ μμ΅λλ€. μ΄λ₯Ό ν΅ν΄ μ¬μ©μλ μμ μ μ νΈμ λ§λ ν λ§λ₯Ό μ ννμ¬ λ³΄λ€ νΈμνκ² μ¬μ©ν μ μμ΅λλ€.
5.2 νλ/μΆμ κΈ°λ₯
μΉ νμ΄μ§ λ΄μ κΈμλ μ΄λ―Έμ§λ₯Ό νλνκ±°λ μΆμνλ κΈ°λ₯μ μ¬μ©μμ μλ ₯μ λ°λΌ μΉ μ¬μ΄νΈλ₯Ό λ³΄λ€ νΈνκ² μ¬μ©ν μ μλ κΈ°λ₯μ λλ€. νλ/μΆμ κΈ°λ₯μ μΆκ°νμ¬ μ¬μ©μκ° μνλ ν¬κΈ°λ‘ μΉ νμ΄μ§λ₯Ό 컀μ€ν°λ§μ΄μ§ν μ μλλ‘ ν μ μμ΅λλ€. μ΄λ₯Ό ν΅ν΄ μ¬μ©μλ μμ μ μμΌμ λ§κ² μΉ νμ΄μ§λ₯Ό μ‘°μ νμ¬ νΈλ¦¬νκ² μ΄μ©ν μ μμ΅λλ€.
5.3 κ²μ κΈ°λ₯
λκ·λͺ¨ μΉ μ¬μ΄νΈλ 컨ν μΈ κ° λ§μ μΉ νμ΄μ§μ κ²½μ°, μ¬μ©μκ° μνλ μ 보λ₯Ό μ½κ² μ°ΎκΈ° μ΄λ €μΈ μ μμ΅λλ€. μ΄λ₯Ό μν΄ κ²μ κΈ°λ₯μ μΆκ°ν μ μμ΅λλ€. κ²μ κΈ°λ₯μ μ 곡νμ¬ μ¬μ©μκ° μνλ ν€μλλ‘ κ²μνκ³ κ²°κ³Όλ₯Ό νμΈν μ μλλ‘ ν μ μμ΅λλ€. μ΄λ₯Ό ν΅ν΄ μ¬μ©μλ μνλ μ 보λ₯Ό λΉ λ₯΄κ² μ°Ύμ μ μμΌλ©°, μΉ μ¬μ΄νΈλ μ ν리μΌμ΄μ μ μ¬μ©μ±μ κ°μ ν μ μμ΅λλ€.
5.4 ν΄ν κΈ°λ₯
μ»΄ν¬λνΈλ λ²νΌ λ±μ λ§μ°μ€λ₯Ό μ¬λ Έμ λ ν΄λΉ μμμ λν μ€λͺ μ΄ νμλλ ν΄ν κΈ°λ₯μ μ¬μ©μκ° μμμ κΈ°λ₯μ΄λ μ¬μ© λ°©λ²μ μ½κ² μ΄ν΄ν μ μλλ‘ λμμ€λλ€. ν΄ν κΈ°λ₯μ μΆκ°νμ¬ μ¬μ©μκ° μνλ μ 보λ₯Ό νλν μ μλλ‘ ν μ μμ΅λλ€. μ΄λ₯Ό ν΅ν΄ μ¬μ©μλ μΉ μ¬μ΄νΈλ μ ν리μΌμ΄μ μ λ³΄λ€ μ½κ³ λΉ λ₯΄κ² μ¬μ©ν μ μμΌλ©°, νΌλμ μ΅μνν μ μμ΅λλ€.
μμ κ°μ μΆκ° κΈ°λ₯μ μ¬μ©μκ° μΉ μ¬μ΄νΈλ μ ν리μΌμ΄μ μ νΈλ¦¬νκ² μ΄μ©ν μ μλ κΈ°νλ₯Ό μ 곡νμ¬ μ¬μ©μ κ²½νμ κ°μ νλλ° λμμ μ€ μ μμ΅λλ€. μ΄λ¬ν μΆκ° κΈ°λ₯μ μ¬μ©μμ μꡬμ¬νκ³Ό μ νΈλμ λ§κ² ꡬννλ κ²μ΄ μ€μνλ©°, μ¬μ©μκ° κ°νΈνκ³ ν¨μ¨μ μΌλ‘ μ΄μ©ν μ μλλ‘ κ³ λ―Όν΄μΌ ν©λλ€.
λκΈ