Frontend/HTML&CSS

21 HTML Tips You Must Know About(무쑰건 μ•Œμ•„μ•Ό ν•˜λŠ” 21개의 HTML 팁)

Seyun(Marco) 2024. 4. 13. 19:53
728x90

πŸ’‘ 원본글: https://dev.to/devshefali/21-html-tips-you-must-know-about-55j7

 

21 HTML Tips You Must Know About

In this post, I’ll share 21 HTML Tips with code snippets that can boost your coding skills. Let’s...

dev.to

이 κ²Œμ‹œλ¬Όμ—μ„œλŠ” μ½”λ”© κΈ°μˆ μ„ ν–₯μƒμ‹œν‚¬ 수 μžˆλŠ” μ½”λ“œ 쑰각과 ν•¨κ»˜ 21가지 HTML νŒμ„ κ³΅μœ ν•˜κ² μŠ΅λ‹ˆλ‹€.

그럼 λ°”λ‘œ λ›°μ–΄λ“€μ–΄κ°€ λ³ΌκΉŒμš”.πŸš€

μ—°λ½μ²˜ 링크 λ§Œλ“€κΈ°

HTML을 μ‚¬μš©ν•˜μ—¬ 클릭이 κ°€λŠ₯ν•œ 이메일, μ „ν™” 톡화 및 SMS 링크λ₯Ό λ§Œλ“€μˆ˜ μžˆμŠ΅λ‹ˆλ‹€.

<!-- Email link -->
<a href="mailto:name@example.com"> Send Email </a>

<!-- Phone call link -->
<a href="tel:+1234567890"> Call Us </a>

<!-- SMS link -->
<a href="sms:+1234567890"> Send SMS </a>

접을(Collapse)수 μžˆλŠ” μ½˜ν…μΈ  λ§Œλ“€κΈ°

μ›ΉνŽ˜μ΄μ§€μ—μ„œ 접을 수 μžˆλŠ” μ½˜ν…μΈ λ₯Ό ν¬ν•¨ν•˜λ €λŠ” 경우 <details> 및 <summary> νƒœκ·Έλ₯Ό μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

<details> νƒœκ·ΈλŠ” μˆ¨κ²¨μ§„ μ½˜ν…μΈ μ— λŒ€ν•œ μ»¨ν…Œμ΄λ„ˆλ₯Ό μƒμ„±ν•˜λŠ” 반면, <summary> λŠ” ν•΄λ‹Ή μ½˜ν…μΈ μ˜ ν‘œμ‹œ μ—¬λΆ€λ₯Ό μ „ν™˜ν•  수 μžˆλŠ” 클릭 κ°€λŠ₯ν•œ 라벨을 μ œκ³΅ν•©λ‹ˆλ‹€.

<details>
  <summary>Click to expand</summary>
  <p>This content can be expanded or collapsed.</p>
</details>

의미적인(Semantic) μš”μ†Œ ν™œμš©

μ›Ήμ‚¬μ΄νŠΈμ— λŒ€ν•΄ λΉ„μ˜λ―Έμ μΈ μš”μ†Œλ³΄λ‹¨ 의미적인(Semantic)ν•œ μš”μ†Œλ₯Ό μ‚¬μš©ν•˜μ„Έμš”. μ½”λ“œλ₯Ό 의미있게 λ§Œλ“€κ³  ꡬ쑰, μ ‘κ·Όμ„± 및 SEOλ₯Ό ν–₯μƒμ‹œν‚΅λ‹ˆλ‹€.

From μš”μ†Œ κ·Έλ£Ήν™”

<fieldset> νƒœκ·Έλ₯Ό μ‚¬μš©ν•˜μ—¬ Form의 κ΄€λ ¨ μš”μ†Œλ₯Ό κ·Έλ£Ήν™” ν•˜κ³  <legned> νƒœκ·Έλ₯Ό μ‚¬μš©ν•˜μ—¬ <fieldset> 제λͺ©μ„ μ •μ˜ν•©λ‹ˆλ‹€.

μ΄λŠ” 효율적으둜 μ ‘κ·Ό κ°€λŠ₯ν•œ Form을 λ§Œλ“œλŠ”λ° μœ μš©ν•©λ‹ˆλ‹€.

<form>
   <fieldset>
      <legend>Personal details</legend>
      <label for="firstname">First name:</label>
      <input type="text" id="firstname" name="firstname" />
      <label for="email">Email:</label>
      <input type="email" id="email" name="email" />
      <label for="contact">Contact:</label>
      <input type="text" id="contact" name="contact" />
      <input type="button" value="Submit" />
   </fieldset>
</form>

λ“œλ‘­λ‹€μš΄ 메뉴 κ°œμ„ 

<optgroup> νƒœκ·Έλ₯Ό μ‚¬μš©ν•˜μ—¬ HTML의 <select> νƒœκ·Έμ˜ μ˜΅μ…˜μ„ κ·Έλ£Ήν™” ν• μˆ˜ μžˆμŠ΅λ‹ˆλ‹€.

μ΄λŠ” 큰 λ“œλ‘­λ‹€μš΄ λ©”λ‰΄λ‚˜ κΈ΄ μ˜΅μ…˜ λͺ©λ‘μœΌλ‘œ μž‘μ—…ν•  λ•Œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

<select>
   <optgroup label="Fruits">
      <option>Apple</option>
      <option>Banana</option>
      <option>Mango</option>
   </optgroup>
   <optgroup label="Vegetables">
      <option>Tomato</option>
      <option>Broccoli</option>
      <option>Carrot</option>
   </optgroup>
</select>

Video Presentation κ°œμ„ 

poster 속성을 μ‚¬μš©ν•΄ λΉ„λ””μ˜€κ°€ μž¬μƒλ  λ•Œ κΉŒμ§€ 이미지λ₯Ό ν‘œμ‹œν• μˆ˜ μžˆμŠ΅λ‹ˆλ‹€.

<video controls poster="image.png" width="500">
  <source src="video.mp4" type="video/mp4 />
</video>

닀쀑 선택 지원

multiple 속성을 μ‚¬μš©ν•˜λ©΄ <input> , <select> 의 λ‘κ°œ μ΄μƒμ˜ νŒŒμΌμ„ 선택 및 μ˜΅μ…˜μ„ 선택 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

<input type="file" multiple />
<select multiple>
    <option value="java">Java</option>
    <option value="javascript">JavaScript</option>
    <option value="typescript">TypeScript</option>
    <option value="rust">Rust</option>
</select>

μœ„/μœ„λž˜ 첨자 ν‘œμ‹œ

<sub>, <sup> νƒœκ·Έλ₯Ό μ‚¬μš©ν•˜μ—¬ ν…μŠ€νŠΈλ₯Ό 각각 μ•„λž˜ μ²¨μžμ™€ μœ„ 첨자둜 ν‘œμ‹œν• μˆ˜ μžˆμŠ΅λ‹ˆλ‹€.

λ‹€μš΄λ‘œλ“œ 링크 생성

download 속성을 <a> νƒœκ·Έμ™€ 같이 μ‚¬μš©ν•˜λ©΄ 링크λ₯Ό 클릭할 λ•Œ 링크된 λ¦¬μ†ŒμŠ€λ₯Ό νƒμƒ‰ν•˜λŠ” λŒ€μ‹ μ— λ‹€μš΄λ‘œλ“œ 함을 지정할 수 μžˆμŠ΅λ‹ˆλ‹€.

<a href="document.pdf" download="document.pdf"> Download PDF </a>

μƒλŒ€ 링크에 λŒ€ν•œ κΈ°λ³Έ URL μ •μ˜

<base> νƒœκ·Έλ₯Ό μ‚¬μš©ν•˜μ—¬ μ›ΉνŽ˜μ΄μ§€μ˜ λͺ¨λ“  μƒνƒœ URL을 μ •μ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ΄λŠ” μ›Ή νŽ˜μ΄μ§€μ˜ λͺ¨λ“  μƒνƒœ URL에 λŒ€ν•œ 곡유 μ‹œμž‘μ μ„ μƒμ„±ν•˜μ—¬ λ¦¬μ†ŒμŠ€λ₯Ό 더 μ‰½κ²Œ νƒμƒ‰ν•˜κ³  λ‘œλ“œν•  λ•Œ μœ μš©ν•©λ‹ˆλ‹€.

   


   Blogs
   Contact


이미지 λ‘œλ”© μ œμ–΄

<img> νƒœκ·Έμ— loading 속성을 μ‚¬μš©ν•˜μ—¬ λΈŒλΌμš°μ €κ°€ 이미지 λ‘œλ“œν•˜λŠ” 방법을 μ œμ–΄ν• μˆ˜ μžˆμŠ΅λ‹ˆλ‹€. 값은 “eager”, “lazy”, “auto”κ°€ μžˆμŠ΅λ‹ˆλ‹€.

<img src="picture.jpg" loading="lazy">

λ²ˆμ—­ κΈ°λŠ₯ 관리

transalate 속성을 μ‚¬μš©ν•˜μ—¬ μ½˜ν…μΈ λ₯Ό λΈŒλΌμš°μ €μ˜ λ²ˆμ—­ κΈ°λŠ₯을 μ‚¬μš©ν•΄μ•Ό ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό 지정할 수 μžˆμŠ΅λ‹ˆλ‹€.

<p translate="no">
  This text should not be translated.
</p>

μ΅œλŒ€ μž…λ ₯ 길이 μ„€μ •

maxlength 속성을 μ‚¬μš©ν•˜λ©΄ μ‚¬μš©μžκ°€ μž…λ ₯ ν•„λ“œμ— μž…λ ₯ν•  수 μžˆλŠ” μ΅œλŒ€ 문자 수λ₯Ό μ„€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

<input type="text" maxlength="4">

Setting Minimum Input Length μ΅œμ†Œ μž…λ ₯ 길이 μ„€μ •

minlength 속성을 μ‚¬μš©ν•˜λ©΄ μž…λ ₯ ν•„λ“œμ— λŒ€ν•œ μ΅œμ†Œ 문자 수λ₯Ό μ„€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

<input type="text" minlength="3">

컨텐츠 νŽΈμ§‘ ν™œμ„±ν™”

contenteditable 속성을 톡해 μ½˜ν…μΈ λ₯Ό νŽΈμ§‘ ν•  수 μžˆλŠ” μ—¬λΆ€λ₯Ό 지정할 수 μžˆμŠ΅λ‹ˆλ‹€.

이λ₯Ό ν† μ•» μ‚¬μš©μžλŠ” μš”μ†Œ λ‚΄μ˜ μ½˜ν…μΈ λ₯Ό μˆ˜μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

<div contenteditable="true">
   You can edit this content.
</div>

λ§žμΆ€λ²• 검사 μ œμ–΄

<input>, <textare>, μ½˜ν…μΈ  νŽΈμ§‘ κ°€λŠ₯ μš”μ†Œμ—μ„œ spellcheck 속성과 ν•¨κ»˜ μ‚¬μš©ν•˜μ—¬ λΈŒλΌμš°μ €μ˜ λ§žμΆ€λ²• 검사λ₯Ό ν™œμ„±ν™”ν•˜κ±°λ‚˜ λΉ„ν™œμ„±ν™” ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

<input type="text" spellcheck="true"/>

μ ‘κ·Όμ„± 보μž₯

alt 속성은 이미지λ₯Ό ν‘œμ‹œν•  수 μ—†λŠ” 경우 이미지에 λŒ€ν•œ λŒ€μ²΄ ν…μŠ€νŠΈλ₯Ό μ§€μ •ν•©λ‹ˆλ‹€.

μ ‘κ·Όμ„±κ³Ό SEOλ₯Ό κ°œμ„ ν•˜λ €λ©΄ 항상 이미지에 λŒ€ν•œ μ„€λͺ…적인 alt 속성을 ν¬ν•¨ν•˜μ„Έμš”.

<img src="picture.jpg" alt="Description for the image">

링크에 λŒ€ν•œ λŒ€μƒ λ™μž‘ μ •μ˜

target 속성을 μ‚¬μš©ν•˜μ—¬ 링크된 λ¦¬μ†ŒμŠ€λ₯Ό 클릭할 λ•Œ ν‘œμ‹œλ  μœ„μΉ˜λ₯Ό 지정할 수 μžˆμŠ΅λ‹ˆλ‹€.

<!-- Opens in the same frame -->
<a href="https://shefali.dev" target="_self">Open</a>

<!-- Opens in a new window or tab -->
<a href="https://shefali.dev" target="_blank">Open</a>

<!-- Opens in the parent frame -->
<a href="https://shefali.dev" target="_parent">Open</a>

<!-- Opens in the full body of the window -->
<a href="https://shefali.dev" target="_top">Open</a>

<!-- Opens in the named frame -->
<a href="https://shefali.dev" target="framename">Open</a>

μΆ”κ°€ 정보 제곡

title μ†μ„±μ€ μ‚¬μš©μžκ°€ μš”μ†Œ μœ„λ‘œ 마우슀λ₯Ό κ°€μ Έκ°ˆ λ•Œ ν•΄λ‹Ή μš”μ†Œμ— λŒ€ν•œ μΆ”κ°€ 정보λ₯Ό μ œκ³΅ν•˜λŠ” 데 μ‚¬μš©λ  수 μžˆμŠ΅λ‹ˆλ‹€.

<p title="World Health Organization">WHO</p>

νŠΉμ • 파일 ν˜•μ‹ ν—ˆμš©

accept 속성을 μ‚¬μš©ν•˜μ—¬ μ„œλ²„μ—μ„œ ν—ˆμš©ν•˜λŠ” 파일 ν˜•μ‹μ„ 지정할 수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λŠ” <input> νƒœκ·Έμ™€ 같이 μ‚¬μš©λ©λ‹ˆλ‹€.

<input type="file" accept="image/png, image/jpeg" />

λΉ„λ””μ˜€ λ‘œλ”© μ΅œμ ν™”

<video> νƒœκ·Έμ— preload 속성을 ν•¨κ»˜ μ‚¬μš©ν•˜λ©΄ 보닀 μ›ν™œν•œ μž¬μƒμ„ μœ„ν•΄ λΉ„λ””μ˜€ νŒŒμΌμ„ 더 λΉ λ₯΄κ²Œ λ‘œλ”©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

<video src="video.mp4" preload="auto">
   Your browser does not support the video tag.
</video>

였늘 μ€€λΉ„ν•œκ±΄ 이게 λ‹€ μž…λ‹ˆλ‹€.

도움이 λ˜μ—ˆκΈ°λ₯Ό λ°”λžλ‹ˆλ‹€.

μ½μ–΄μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€.

이와 같은 더 λ§Žμ€ μ½˜ν…μΈ λ₯Ό 보렀면 μ—¬κΈ°λ₯Ό ν΄λ¦­ν•˜μ„Έμš”.

X(Twiiter)μ—μ„œ μ €λ₯Ό νŒ”λ‘œμš°ν•˜μ‹œλ©΄ μ›Ή κ°œλ°œμ— λŒ€ν•œ 일일 νŒμ„ μ–»μ„μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

 

728x90
728x90