0Pricing
HTML Academy · บทเรียน

องค์ประกอบ bdi และ bdo

แยกและเขียนทิศทางข้อความทับด้วย bdi และ bdo

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

เหตุใดจึงต้องใช้องค์ประกอบควบคุมทิศทางสองทิศทาง

อัลกอริทึมข้อความสองทิศทางของ Unicode มักจัดการข้อความที่มีหลายทิศทางได้ดี แต่บางครั้งจำเป็นต้องเขียนทับการทำงานของอัลกอริทึม เช่น แยกชื่อที่ผู้ใช้ป้อนเพื่อไม่ให้เปลี่ยนทิศทางของข้อความรอบข้าง หรือบังคับทิศทางเฉพาะในบล็อกโค้ด

องค์ประกอบ bdi

<bdi> (การแยกข้อความสองทิศทาง) จะถือว่าเนื้อหาภายในเป็นบริบทข้อความสองทิศทางที่แยกออกมา ทิศทางของข้อความภายใน <bdi> จะไม่ส่งผลต่อทิศทางของข้อความภายนอก และในทางกลับกัน

<p>User <bdi>{username}</bdi> posted at 12:34</p>

กรณีการใช้งาน: ชื่อผู้ใช้

รายการผู้ใช้ที่มีทั้งชื่อภาษาอังกฤษและภาษาอาหรับอาจทำให้ชื่อภาษาอาหรับทำให้ทิศทาง RTL รั่วไหลไปยังข้อความรอบข้าง การครอบชื่อแต่ละชื่อด้วย <bdi> จะแยกทิศทางออกจากกัน ทำให้เค้าโครงคงที่ไม่ว่าชื่อนั้นจะมีทิศทางใด

องค์ประกอบ bdo

<bdo dir="rtl"> (การเขียนทับข้อความสองทิศทาง) จะบังคับทิศทางเฉพาะให้กับเนื้อหาภายใน โดยเขียนทับการแก้ทิศทางตามธรรมชาติของข้อความสองทิศทาง ใช้เมื่อคุณต้องการแสดงข้อความในทิศทางที่ไม่เป็นธรรมชาติ เช่น แสดงตัวอย่างโค้ดเป็น LTR ภายในหน้า RTL

<bdo dir="ltr">someEnglishCode();</bdo>

ความแตกต่างจาก dir

แอตทริบิวต์ dir บนองค์ประกอบทั่วไปจะกำหนดทิศทางพื้นฐาน และอัลกอริทึมข้อความสองทิศทางยังคงทำงานภายใน <bdo> จะปิดใช้งานอัลกอริทึมข้อความสองทิศทางสำหรับเนื้อหาภายใน ทำให้อักขระทุกตัวไหลไปตามทิศทางที่ระบุอย่างเคร่งครัด ไม่ว่าสคริปต์ของอักขระนั้นจะเป็นอะไร

เมื่อใดควรใช้ bdi

ใช้ทุกครั้งที่ฝังข้อความที่ผู้ใช้สร้างขึ้นลงในส่วนติดต่อรอบข้าง เช่น ชื่อในส่วนหัวแชต ชื่อผู้ใช้ในความคิดเห็น หรือชื่อเรื่องในรายการฟีด การแยกทิศทางรับประกันว่าเค้าโครงส่วนติดต่อจะไม่ได้รับผลกระทบจากสิ่งที่ผู้ใช้พิมพ์

เมื่อใดควรใช้ bdo

ไม่ค่อยใช้ โดยการใช้งานที่ถูกต้องหลัก ๆ คือใช้สอนเรื่องข้อความสองทิศทาง (แสดงให้เห็นว่าสตริงมีลักษณะอย่างไรเมื่อกลับด้าน) หรือใช้แก้ไขข้อมูลที่กำกับแท็กไม่ถูกต้อง ซึ่งการจัดลำดับข้อความสองทิศทางตามธรรมชาติทำให้ลำดับที่แสดงผลผิด

ใช้ร่วมกับ dir="auto"

สำหรับเนื้อหาที่ผู้ใช้ป้อนซึ่งไม่ทราบทิศทาง ให้ใช้ <bdi dir="auto"> ร่วมกันเพื่อความปลอดภัยสองชั้น: การตรวจจับอัตโนมัติจะเลือกทิศทางพื้นฐานจากเนื้อหา และ bdi จะป้องกันไม่ให้ทิศทางนั้นรั่วไหลไปยังข้อความรอบข้าง

การรองรับของเบราว์เซอร์

bdi และ bdo รองรับในเบราว์เซอร์รุ่นใหม่ทุกชนิด ทั้งสองเป็นส่วนหนึ่งของ HTML5 และมีความเสถียรมาหลายปีแล้ว IE รุ่นเก่าไม่มี bdi แต่ล้าสมัยในทางการใช้งานแล้ว เว็บไซต์ยุคใหม่จึงใช้ bdi ได้อย่างอิสระ

การเข้าถึง

โปรแกรมอ่านหน้าจอรองรับการแยกทิศทางข้อความ: ข้อความภายใน <bdi> จะถูกอ่านด้วยเสียงของภาษานั้นเอง (เมื่อกำหนด lang ไว้) โดยบริบทโดยรอบจะไม่ส่งผลแทรกเข้ามา bdi ยังช่วยให้ระบบแปลงข้อความเป็นเสียงพูดสร้างช่วงหยุดที่เหมาะสมรอบวลีที่แยกออกมาได้ด้วย

รูปแบบที่พบบ่อย: i18n ในแม่แบบ

แม่แบบที่มีตัวแทนค่า ("Welcome, {name}") ควรครอบตัวแทนค่านั้นด้วย <bdi>: Welcome, <bdi>{name}</bdi> ชื่อผู้ใช้ใด ๆ — ไม่ว่าจะเป็นภาษาอังกฤษ ภาษาอาหรับ หรือแบบผสม — จะแสดงผลได้อย่างถูกต้องโดยไม่รบกวนส่วนอื่นของคำทักทาย

ตรวจสอบความรู้

ความแตกต่างในทางปฏิบัติระหว่าง กับ คืออะไร

สรุป

bdi แยกทิศทางข้อความของส่วนหนึ่งไม่ให้ส่งผลต่อบริเวณโดยรอบ — ใช้กับเนื้อหาที่ผู้ใช้ป้อนและนำมาแทรก เช่น ชื่อในแม่แบบ bdo บังคับทิศทางที่กำหนดโดยแทนที่การจัดทิศทางสองทิศทาง จึงแทบไม่จำเป็นนอกตัวอย่างเพื่อการสอน ใช้ bdi ร่วมกับ dir="auto" เพื่อจัดการข้อความที่ผู้ใช้ป้อนซึ่งไม่ทราบภาษาได้อย่างปลอดภัย

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

บทเรียน “องค์ประกอบ bdi และ bdo” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “องค์ประกอบ bdi และ bdo”

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

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

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

บทเรียน “องค์ประกอบ bdi และ bdo” ใช้เวลานานแค่ไหน

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

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

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

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

  1. แอตทริบิวต์ lang และโปรแกรมอ่านหน้าจอ
  2. dir=rtl สำหรับข้อความจากขวาไปซ้าย
  3. องค์ประกอบ bdi และ bdo
  4. charset และการจัดการ Unicode: อักขระพิเศษ
← กลับไปที่ HTML Academy