μ¨κ²¨μ§? λͺ°λλ 보μλ€
μ κ·Όμ±μ κ΄μ¬μ λμ§ μκ³ λͺ¨λ μΉ νλ μμν¬λ₯Ό λ§ν¬μ
νλ€ λ³΄λ©΄ <div>
λ <span>
μ΄μΈμ νκ·Έλ λ§μ΄ μ¬μ©ν μΌμ΄ μλλ°μ,
mdnμ λ€μ μ΄λ€ 보면 λͺ°λλ νΉμ΄ν νκ·Έμ μμ±λ€μ΄ μμ΅λλ€.
μ΄λ² κΈμμλ νΉμ μν©μμ λ§€μ° μ μ©νκ² μ°μΌ μ μμ§λ§, μ μλ €μ§μ§ μμ νκ·Έμ μμ±λ€μ μμλ³΄κ² μ΅λλ€.
1. <details>
μ <summary>
: JS μμ΄ μμ½λμΈ UI λ§λ€κΈ°
μμ½λμΈ UIλ₯Ό λ§λ€ λ, 보ν΅μ JavaScriptλ₯Ό μ¬μ©ν΄ ꡬννκ³€ ν©λλ€.
νμ§λ§ HTMLλ§μΌλ‘λ μμ½λμΈ UIλ₯Ό λ§λ€ μ μλ€λ μ¬μ€, μκ³ κ³μ
¨λμ?
<details>
<summary>λ 보기</summary>
<p>μ΄ λ΄μ©μ μ νλ€κ° νΌμ³μ§ μ μμ΅λλ€.</p>
</details>
μλ κ²
μ΄ λ΄μ©μ μ νλ€κ° νΌμ³μ§ μ μμ΅λλ€.
<details>
: μ¬μ©μκ° ν΄λ¦νλ©΄ λ΄μ©μ 보μ¬μ£Όκ±°λ μ¨κΈΈ μ μλ 컨ν μ΄λμ λλ€.<summary>
:<details>
μ μ λͺ© μν μ ν©λλ€.
CSSλ‘ μ€νμΌλ§λ κ°λ₯ν©λλ€.
details[open] {
background-color: #f0f0f0;
}
2. <datalist>
: μ
λ ₯ νλμ μλ μμ± κΈ°λ₯ μΆκ°
<input>
νκ·Έμ μλ μμ± κΈ°λ₯μ μΆκ°νκ³ μΆμ λ, 보ν΅μ JavaScriptλ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©ν©λλ€.
νμ§λ§ <datalist>
λ₯Ό μ¬μ©νλ©΄ μμ£Ό κ°λ¨νκ² μλ μμ± κΈ°λ₯μ ꡬνν μ μμ΅λλ€.
<input type="text" list="suggestions" />
<datalist id="suggestions">
<option value="Apple">
<option value="Banana">
<option value="Cherry">
</datalist>
μλ κ²
<datalist>
: μ λ ₯ νλμ μ μ λͺ©λ‘μ μ 곡ν©λλ€.<option>
: μ μν νλͺ©λ€μ μ μν©λλ€.
3. <meter>
μ <progress>
: μ§ν μνλ₯Ό μκ°μ μΌλ‘ νν
μ§ν μνλ₯Ό νμν λ, 보ν΅μ <div>
λ₯Ό μ¬μ©ν΄ μ§μ μ€νμΌλ§νκ±°λ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©ν©λλ€.
νμ§λ§ HTMLμλ μ΄λ―Έ <meter>
μ <progress>
λΌλ νκ·Έκ° μμ΅λλ€.
<label for="disk-usage">λμ€ν¬ μ¬μ©λ:</label>
<meter id="disk-usage" value="0.7">70%</meter>
<label for="file-upload">νμΌ μ
λ‘λ μ§νλ₯ :</label>
<progress id="file-upload" value="50" max="100">50%</progress>
μλ κ²
<meter>
: νΉμ λ²μ λ΄μ κ°μ νμν©λλ€. (μ: λμ€ν¬ μ¬μ©λ)<progress>
: μμ μ μ§ν μνλ₯Ό νμν©λλ€.
HTMLλ‘λ§ λ§λ μΉμ¬μ΄νΈμμλ λ³Ό λ²ν μ€νμΌλ§μ΄λΌ μ¬λ°μ΅λλ€.
4. <output>
: κ³μ° κ²°κ³Όλ₯Ό μ€μκ°μΌλ‘ νμ
νΌ μ
λ ₯κ°μ κΈ°λ°μΌλ‘ κ³μ° κ²°κ³Όλ₯Ό νμν λ, 보ν΅μ JavaScriptλ₯Ό μ¬μ©ν©λλ€.
νμ§λ§ <output>
νκ·Έλ₯Ό μ¬μ©νλ©΄ λ μ§κ΄μ μΌλ‘ ꡬνν μ μμ΅λλ€.
<form oninput="result.value = parseInt(a.value) + parseInt(b.value)">
<input type="number" id="a" value="10"> +
<input type="number" id="b" value="20"> =
<output name="result" for="a b">30</output>
</form>
μλ κ²
<output>
: κ³μ° κ²°κ³Όλ μ¬μ©μ μ λ ₯μ λν νΌλλ°±μ νμν©λλ€.for
μμ±: μ΄λ€ μ λ ₯ νλμ μ°κ²°λμ΄ μλμ§ μ§μ ν©λλ€.
5. <dialog>
: JavaScript μμ΄ λͺ¨λ¬ μ°½ λ§λ€κΈ°
λͺ¨λ¬ μ°½μ λ§λ€ λ, 보ν΅μ <div>
λ₯Ό μ¬μ©ν΄ μ§μ μ€νμΌλ§νκ³ JavaScriptλ‘ μ΄κ³ λ«λ λ‘μ§μ ꡬνν©λλ€.
νμ§λ§ HTML5μ <dialog>
νκ·Έλ₯Ό μ¬μ©νλ©΄ μμ£Ό κ°λ¨νκ² λͺ¨λ¬ μ°½μ λ§λ€ μ μμ΅λλ€.
<dialog id="modal">
<p>λͺ¨λ¬μ
λλ€.</p>
<button onclick="document.getElementById('modal').close()">λ«κΈ°</button>
</dialog>
<button onclick="document.getElementById('modal').showModal()"><i>λͺ¨λ¬ μ΄κΈ° λ²νΌ</i></button>
<dialog>
: λͺ¨λ¬ μ°½μ μ μν©λλ€.showModal()
: λͺ¨λ¬ μ°½μ μ½λλ€.close()
: λͺ¨λ¬ μ°½μ λ«μ΅λλ€.
μ΄ νκ·Έλ κΈ°λ³Έμ μΌλ‘ μ€νμΌλ§μ΄ μ 곡λλ©°, ::backdrop
κ°μ μμλ₯Ό μ¬μ©ν΄ λ°°κ²½μ 컀μ€ν°λ§μ΄μ§ν μλ μμ΅λλ€.
λ§λ¬΄λ¦¬
μ€λμ νμμ μ μ°μ§ μμλ HTML νκ·Έμ μμ±λ€μ μ΄ν΄λ΄€μ΅λλ€.
μ€μ λ‘ μ¬μ©ν μΌμ κ±°μ μκ² μ§λ§μβ¦
νμ§λ§ μ΄λ° νκ·Έλ€μ μ νμ©νλ©΄,
JavaScript μμ‘΄λλ₯Ό μ€μΌ μ μκ³ ,
μ½λλ₯Ό λ κ°κ²°νκ² μμ±ν μ μμΌλ©°,
μ¬μ©μ κ²½νμ ν₯μμν¬ μ μμ κ² κ°μμ.
λ€μ λ² νλ‘μ νΈμμ νλ² νμ©ν΄λ³΄λ 건 μ΄λ¨κΉμ?