HTML Academy · บทเรียน

การเชื่อมโยงไปยังส่วนต่าง ๆ ด้วยตัวระบุแฟรกเมนต์

ข้ามไปยังส่วนต่าง ๆ ของหน้าด้วยแอตทริบิวต์ id และลิงก์แฮช

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

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

ตัวระบุส่วนย่อยคืออะไร

ตัวระบุส่วนย่อยคือส่วนของที่อยู่เว็บหลังสัญลักษณ์ #:

https://example.com/page#section-3
                          │
                          └─ Fragment: "section-3"

<!-- The browser: -->
<!-- 1. Loads the page -->
<!-- 2. Scrolls to the element with id="section-3" -->

การสร้างจุดหมายลิงก์ด้วยรหัสประจำตัว

หากต้องการสร้างลิงก์ไปยังส่วนหนึ่งของหน้า ให้กำหนด id ให้ส่วนนั้น:

<!-- The target: give any element an id -->
<h2 id="installation">Installation</h2>
<h2 id="configuration">Configuration</h2>
<h2 id="faq">Frequently Asked Questions</h2>

<!-- The link: use # + id value -->
<a href="#installation">Jump to Installation</a>
<a href="#faq">Go to FAQ</a>

การสร้างลิงก์จากอีกหน้า

คุณสามารถสร้างลิงก์ไปยังส่วนหนึ่งของอีกหน้าได้:

<!-- From a different page -->
<a href="/docs/guide#installation">Installation Guide</a>
<!-- Loads /docs/guide and scrolls to #installation -->

<!-- Absolute URL to a section -->
<a href="https://example.com/docs#api">API Documentation</a>

หลักการตั้งชื่อรหัสประจำตัว

หลักการสำหรับค่า id ที่ถูกต้อง:

  • ต้องไม่ซ้ำกันภายในหน้า — ห้ามมีองค์ประกอบสองรายการใช้ id เดียวกัน
  • ใน CSS ห้ามขึ้นต้นด้วยตัวเลข (แม้จะถูกต้องใน HTML)
  • ห้ามมีช่องว่าง — ให้ใช้ยัติภังค์: my-section
  • ตัวพิมพ์เล็กใหญ่มีความหมายต่างกัน: #FAQ และ #faq ถือว่าแตกต่างกัน

รูปแบบสารบัญ

ลิงก์ส่วนย่อยช่วยให้สร้างสารบัญภายในหน้าได้:

<nav aria-label="Table of Contents">
  <ol>
    <li><a href="#intro">Introduction</a></li>
    <li><a href="#setup">Setup</a></li>
    <li><a href="#usage">Usage</a></li>
    <li><a href="#api">API Reference</a></li>
  </ol>
</nav>

<h2 id="intro">Introduction</h2>
<h2 id="setup">Setup</h2>

การเลื่อนแบบนุ่มนวลด้วย CSS

เพิ่มพฤติกรรมการเลื่อนแบบนุ่มนวลให้กับการนำทางไปยังส่วนย่อย:

/* Apply to the entire page */
html {
  scroll-behavior: smooth;
}

/* Or for specific containers */
.scrollable {
  scroll-behavior: smooth;
}

ระยะเว้นการเลื่อนสำหรับส่วนหัวแบบตรึง

แถบนำทางแบบตรึงจะทับส่วนที่เลื่อนไปถึง แก้ไขได้ด้วย scroll-margin-top:

/* If you have a 60px fixed header */
:target {
  scroll-margin-top: 70px;
}

/* Or set globally for all headings */
h2, h3, h4 {
  scroll-margin-top: 70px;
}
/* scroll-margin-top offsets where the browser scrolls to */

คลาสเทียมของ CSS สำหรับส่วนเป้าหมาย

จัดรูปแบบส่วนที่เป็นเป้าหมายปัจจุบันด้วย :target:

/* Highlight the targeted section */
:target {
  background-color: #fff3cd;
  outline: 2px solid #ffc107;
  padding: 1rem;
}

<!-- Result: when user clicks #installation, -->
<!-- the installation section gets highlighted -->

ลิงก์กลับไปด้านบน

รูปแบบที่ใช้กันทั่วไป — ลิงก์กลับไปด้านบนโดยใช้ส่วนย่อย:

<a href="#top" id="back-to-top">↑ Back to top</a>
<!-- Link to page top: either id="top" on body or use empty href # -->
<!-- Always give it meaningful text for accessibility -->

<!-- Position it fixed with CSS: -->
<!--
#back-to-top {
  position: fixed;
  bottom: 1rem;
  right: 1rem;
}
-->

ส่วนย่อยกับประวัติเบราว์เซอร์

การนำทางไปยังส่วนย่อยจะเพิ่มรายการลงในประวัติเบราว์เซอร์:

  • การคลิกลิงก์ส่วนย่อยจะเพิ่มรายการประวัติ
  • ปุ่มย้อนกลับของเบราว์เซอร์จะนำกลับไปยังตำแหน่งการเลื่อนก่อนหน้า
  • นี่เป็นพฤติกรรมปกติ — แอปพลิเคชันแบบหน้าเดียวสามารถใช้ pushState เพื่อจัดการประวัติได้

จุดยึดที่มีชื่อ (แบบเดิม)

ก่อนจะมีแอตทริบิวต์ id มักใช้ <a name> สำหรับจุดยึด — ปัจจุบันเลิกใช้แล้ว:

<!-- Old way (do not use): -->
<a name="section-1"></a>
<h2>Section 1</h2>

<!-- Modern way: -->
<h2 id="section-1">Section 1</h2>
<!-- Use id on the target element, not a separate anchor tag -->

ตรวจสอบอย่างรวดเร็ว

คุณสมบัติ CSS ใดช่วยป้องกันไม่ให้แถบนำทางแบบตรึงบังส่วนที่เลื่อนไปถึง

สรุป: ตัวระบุส่วนย่อย

สิ่งสำคัญของลิงก์ส่วนย่อย:

  • #id ใน href จะเลื่อนไปยังองค์ประกอบที่มี id ดังกล่าว
  • องค์ประกอบเป้าหมายทุกองค์ประกอบต้องมีแอตทริบิวต์ id ที่ไม่ซ้ำกัน
  • ใช้ได้ทั้งในหน้าเดียวกันและจากหน้าอื่น
  • scroll-behavior: smooth ใช้สำหรับการเลื่อนแบบมีภาพเคลื่อนไหว
  • scroll-margin-top ช่วยหลีกเลี่ยงการทับซ้อนของส่วนหัวแบบตรึง
  • คลาสเทียม :target ใช้เน้นส่วนปัจจุบัน
เริ่มต้นได้ฟรี

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

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

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

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

บทเรียน “การเชื่อมโยงไปยังส่วนต่าง ๆ ด้วยตัวระบุแฟรกเมนต์” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “การเชื่อมโยงไปยังส่วนต่าง ๆ ด้วยตัวระบุแฟรกเมนต์”

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

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

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

บทเรียน “การเชื่อมโยงไปยังส่วนต่าง ๆ ด้วยตัวระบุแฟรกเมนต์” ใช้เวลานานแค่ไหน

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

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

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

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

  1. องค์ประกอบ anchor และแอตทริบิวต์ href
  2. URL แบบสัมบูรณ์เทียบกับแบบสัมพัทธ์
  3. การเปิดลิงก์ในแท็บใหม่และแอตทริบิวต์ download
  4. การเชื่อมโยงไปยังส่วนต่าง ๆ ด้วยตัวระบุแฟรกเมนต์
← กลับไปที่ HTML Academy