HTML Academy · บทเรียน

id, class, style และ title

ใช้แอตทริบิวต์ส่วนกลางหลักกับองค์ประกอบ HTML ใดก็ได้

บทเรียน 1 จาก 413 ขั้นตอน

id, class, style และ title เป็นบทเรียน HTML Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน HTML Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส HTML Academy มีบทเรียนทั้งหมด 4 บทเรียน

แอตทริบิวต์ส่วนกลาง

แอตทริบิวต์ส่วนกลาง สามารถใช้กับองค์ประกอบ HTML ใดก็ได้:

  • id — ตัวระบุที่ไม่ซ้ำกัน
  • class — คลาส CSS หนึ่งรายการหรือมากกว่า
  • style — CSS แบบอินไลน์
  • title — ข้อความคำแนะนำ
  • และอื่น ๆ อีกมากมาย: lang, hidden, tabindex, data-*...

แอตทริบิวต์ id

แอตทริบิวต์ id ใช้กำหนดตัวระบุที่ไม่ซ้ำกันให้กับองค์ประกอบ:

<h2 id="installation">Installation Guide</h2>
<form id="signup-form">...</form>
<div id="hero-banner">...</div>

<!-- Rules:
  - Must be unique per page
  - No spaces
  - Use hyphens: user-profile
  - Case-sensitive: #hero ≠ #Hero
-->

การใช้งาน id

แอตทริบิวต์ id ใช้ได้หลายวัตถุประสงค์:

  • การกำหนดเป้าหมายด้วย CSS: #hero-banner { ... }
  • การเลือกด้วย JavaScript: document.getElementById('signup-form')
  • การนำทางด้วยส่วนย่อย: <a href="#installation">
  • การกำหนดป้ายกำกับด้วย ARIA: aria-labelledby="modal-title"

แอตทริบิวต์ class

แอตทริบิวต์ class ใช้กำหนดคลาส CSS หนึ่งรายการหรือมากกว่า:

<p class="text-large">Large text paragraph.</p>
<button class="btn btn-primary">Submit</button>
<div class="card card-featured highlighted">...</div>

<!-- Multiple classes separated by spaces -->
<!-- Elements can share classes (unlike id) -->
<!-- JavaScript: element.classList.add('active') -->

id เทียบกับ class

ควรใช้แต่ละรายการเมื่อใด:

  • id — องค์ประกอบเฉพาะหนึ่งรายการบนหน้า
  • class — รูปแบบการจัดรูปแบบที่ใช้กับองค์ประกอบหลายรายการ
<!-- id: unique element -->
<main id="main-content">...</main>

<!-- class: reusable style -->
<div class="card">Card 1</div>
<div class="card">Card 2</div>
<div class="card card-featured">Featured</div>

แอตทริบิวต์ style

แอตทริบิวต์ style ใช้เพิ่ม CSS แบบอินไลน์:

<p style="color: red; font-weight: bold;">Warning message</p>
<div style="background: #f0f4f8; padding: 1rem; border-radius: 0.5rem;">
  Info box
</div>

<!-- Inline styles have the highest specificity
     They are hard to override and hard to maintain
     Prefer external CSS classes whenever possible -->

เมื่อใดควรใช้ style แบบอินไลน์

style แบบอินไลน์เหมาะสำหรับกรณีต่อไปนี้:

  • ค่าที่กำหนดแบบไดนามิกด้วย JavaScript
  • ค่าที่ไม่สามารถทราบได้ขณะเขียน CSS (เช่น สีและความกว้างที่ผู้ใช้กำหนด)
  • HTML ของอีเมล (โปรแกรมรับส่งอีเมลจะลบ CSS ภายนอก)

อย่าใช้ style สำหรับการกำหนดรูปแบบการแสดงผลแบบคงที่ เพราะควรอยู่ใน CSS

แอตทริบิวต์ title

แอตทริบิวต์ title ใช้แสดงข้อความคำแนะนำเมื่อวางเมาส์เหนือองค์ประกอบ:

<abbr title="HyperText Markup Language">HTML</abbr>
<button title="Submit the registration form">Submit</button>
<a href="/docs" title="Full documentation (opens in new tab)" target="_blank" rel="noopener">Docs</a>

ข้อจำกัดด้านการเข้าถึงของ title

แอตทริบิวต์ title มีปัญหาด้านการเข้าถึงที่สำคัญ:

  • เข้าถึงผ่านการนำทางด้วยแป้นพิมพ์ไม่ได้
  • ไม่แสดงบนหน้าจอสัมผัส
  • การทำงานกับโปรแกรมอ่านหน้าจอไม่สม่ำเสมอ
  • อย่าวางข้อมูลสำคัญไว้ใน title เพียงอย่างเดียว

ใช้ aria-label หรือข้อความที่มองเห็นได้สำหรับข้อมูลสำคัญ

ความจำเพาะ: id เทียบกับ class และอินไลน์

ความจำเพาะของ CSS จากต่ำไปสูง:

/* Element selector: 0-0-1 */
p { color: gray; }

/* Class selector: 0-1-0 */
.text { color: blue; }

/* ID selector: 1-0-0 */
#unique { color: green; }

/* Inline style: 1-0-0-0 (highest) */
<p style="color: red;">Red wins</p>

แนวทางการตั้งชื่อ class

แนวทางการตั้งชื่อ class ที่นิยมใช้:

<!-- BEM (Block Element Modifier) -->
<div class="card">
  <div class="card__header">
    <h2 class="card__title card__title--featured">Title</h2>
  </div>
</div>

<!-- Utility classes (Tailwind style) -->
<div class="flex items-center gap-4 p-4 bg-white rounded-lg shadow">

ตรวจสอบความเข้าใจ

กฎสำคัญเกี่ยวกับแอตทริบิวต์ id คืออะไร

ทบทวน: id class style title

แอตทริบิวต์ส่วนกลางที่สำคัญ:

  • id — ต้องไม่ซ้ำกันในแต่ละหน้า ใช้กับ CSS, JavaScript, ส่วนย่อย และ ARIA
  • class — นำกลับมาใช้ซ้ำได้ โดยคั่นหลายคลาสด้วยช่องว่าง
  • style — CSS แบบอินไลน์ (ควรใช้อย่างจำกัด และควรเลือกใช้ CSS ภายนอกมากกว่า)
  • title — ข้อความคำแนะนำ ไม่เข้าถึงได้สำหรับผู้ใช้แป้นพิมพ์หรือหน้าจอสัมผัส
  • ความจำเพาะของ id สูงกว่าความจำเพาะของ class ใน CSS
เริ่มต้นได้ฟรี

เรียนรู้ HTML ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
40
บทเรียน
159

คำถามที่พบบ่อย

บทเรียน “id, class, style และ title” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “id, class, style และ title” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส HTML Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส HTML Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “id, class, style และ title”

ใช้แอตทริบิวต์ส่วนกลางหลักกับองค์ประกอบ HTML ใดก็ได้ คุณปฏิบัติ HTML Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน HTML Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน HTML Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “id, class, style และ title” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน HTML Academy นี้ได้ไหม

ได้ บทเรียน HTML Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. id, class, style และ title
  2. แอตทริบิวต์ hidden
  3. tabindex และ accesskey
  4. แอตทริบิวต์ข้อมูลกำหนดเอง data-*
← กลับไปที่ HTML Academy