<img src='stackoverflow.png'>
<img src='stackoverflow.png'></img>
<img src='stackoverflow.png' />
ข้อใดถูกต้อง
<img src='stackoverflow.png'>
<img src='stackoverflow.png'></img>
<img src='stackoverflow.png' />
ข้อใดถูกต้อง
คำตอบ:
<img src='stackoverflow.png' />
ทำงานได้ดีและปิดแท็กอย่างถูกต้อง ควรเพิ่มalt
แอตทริบิวต์สำหรับผู้ที่มีความบกพร่องทางสายตา
<img />
ใช้ได้ใน [X] HTML / XML แม้ว่าปัจจุบันการใช้ XHTML จะหายากมากและหากเซิร์ฟเวอร์ของคุณให้บริการหน้าเว็บเพราะtext/html
สิ่งที่คุณต้องกังวลคือการเขียน HTML ที่ถูกต้อง โอกาสที่จะต้องย้ายแอป HTML ไปยัง XHTML นั้นใกล้เคียงกับศูนย์
<img src='stackoverflow.png'>
(ถ้ามันสำคัญกับคุณ)
อันนี้เป็นHTML5 ที่ถูกต้องและใช้ได้ดีโดยไม่ต้องปิด มันเป็นองค์ประกอบที่เรียกว่าโมฆะ:
<img src='stackoverflow.png'>
ต่อไปนี้เป็นแท็ก XHTML ที่ถูกต้อง พวกเขาจะต้องปิด อันหลังก็ใช้ได้เช่นกันใน HTML 5:
<img src='stackoverflow.png'></img>
<img src='stackoverflow.png' />
<img src='stackoverflow.png'>
(ถ้ามันสำคัญกับคุณ)
<img src="about:logo" alt="about:logo">
แท็กในabout:logo
หน้าของ Firefox 76 ! แม้ว่าจะdocument.body.innerHTML
แสดง<img src=\"about:logo\" alt=\"about:logo\">
... คำตอบที่ดีมาก ...
อันที่จริงมีเพียงอันแรกเท่านั้นที่ใช้ได้ใน HTML5
<img src='stackoverflow.png'>
เฉพาะสองรายการสุดท้ายเท่านั้นที่ใช้ได้ใน XHTML
<img src='stackoverflow.png'></img>
<img src='stackoverflow.png' />
(แม้ว่าจะไม่จำเป็นต้องalt
เข้มงวด แต่ก็ควรรวมแอตทริบิวต์ _usually_ ไว้ด้วย)
ที่กล่าวว่าหน้า HTML5 ของคุณอาจจะแสดงตามที่ตั้งใจไว้เนื่องจากเบราว์เซอร์จะเขียนใหม่หรือตีความ html ของคุณตามที่คุณคิด นั่นอาจหมายความว่ามันจะเปลี่ยนแท็กตัวอย่างเช่นจากเข้า
<div />
หรืออาจจะเป็นเพียงแค่ละเว้นเฉือนสุดท้ายใน<div></div>
ดู 2016: แสดง HTML5 เป็น XHTML 5.0 สำหรับการตรวจสอบความถูกต้องเดิม ดู: การอภิปรายปี 2011 และลิงก์เพิ่มเติมที่นี่แม้ว่าเมื่อเวลาผ่านไปบิตบางส่วนอาจมีการเปลี่ยนแปลง<img ... />
ส่วนหนึ่งเป็นเพราะเบราว์เซอร์พยายามอย่างมากในการแก้ไขข้อผิดพลาด นอกจากนี้เนื่องจากมีความสับสนมากเกี่ยวกับแท็กปิดตัวเองและแท็กเป็นโมฆะ ในที่สุดข้อมูลจำเพาะมีการเปลี่ยนแปลงหรือไม่ชัดเจนเสมอไปและเบราว์เซอร์พยายามที่จะเข้ากันได้แบบย้อนหลัง
ดังนั้นแม้ว่าคุณจะสามารถหลีกเลี่ยงตัวเลือกใดก็ได้จากสามตัวเลือก
แต่ตัวเลือกแรกเท่านั้นที่ปฏิบัติตามมาตรฐาน HTML5 และรับประกันว่าจะผ่านโปรแกรมตรวจสอบ HTML5
กลยุทธ์ที่ดีอาจจะ:
นี่คือรายการแท็กที่ไม่ควรปิดใน HTML5 :
<br> <hr> <input>
<img> <link> <source>
<col> <area> <base>
<meta> <embed> <param>
<track> <wbr> <keygen> (HTML 5.2 Draft removed)
<img src='stackoverflow.png' />
ถูกต้องใน XHTML และ HTML 5 ทุกเวอร์ชัน
Then, if the element is one of the void elements, or if the element is a foreign element, then there may be a single U+002F SOLIDUS character (/). This character has no effect on void elements, but on foreign elements it marks the start tag as self-closing.
img เป็นองค์ประกอบโมฆะต่อส่วน 12.1.2
Actually, only the first one is valid in HTML5
ไม่ถูกต้องทางเทคนิค อันที่สองใช้ได้ใน HTML5 เช่นกัน ไม่จำเป็น แต่ถูกต้อง ไม่มีใครเถียงว่าจำเป็น เฉพาะตามข้อกำหนดเท่านั้นการใช้รูปแบบการปิดด้วยตนเองของแท็กจะใช้ได้กับ XHTML และ HTML ในปัจจุบันทุกรูปแบบ
การใช้แท็กที่ดีที่สุดที่คุณควรใช้:
<img src="" alt=""/>
นอกจากนี้คุณสามารถใช้ใน HTML5:
<img src="" alt="">
สองสิ่งนี้ใช้ได้อย่างสมบูรณ์ใน HTML5 เลือกหนึ่งในนั้นและยึดติดกับสิ่งนั้น
ทั้งคำตอบที่ถูกต้อง HTML5 ปฏิบัติตามกฎที่เข้มงวดและใน HTML5 เราสามารถปิดแท็กทั้งหมดได้ ดังนั้นขึ้นอยู่กับคุณว่าจะใช้ HTML5 หรือ HTML และทำตามคำตอบที่เหมาะสม
<img src='stackoverflow.png'>
<img src='stackoverflow.png' />
คุณสมบัติที่สองเหมาะสมกว่า
- แท็กว่างเปล่าและมีแอตทริบิวต์เท่านั้น - แท็กไม่มีแท็ก 'ปิด'
ดังนั้น,
<img src='stackoverflow.png'>
<img src='stackoverflow.png' />
ทั้งสองอย่างถูกต้องใน HTML5 ด้วย
การมีแท็กปิดจะมีประโยชน์หากคุณจะพยายามอ่านด้วยโปรแกรมแยกวิเคราะห์ XHTML อาจจะเป็นกรณี edge แต่ฉันทำตลอดเวลา ไม่เป็นอันตรายต่อการมีมันและหมายความว่าฉันรู้ว่าเราสามารถใช้อาร์เรย์ของโปรแกรมอ่าน XML ซึ่งจะไม่หายไปเมื่อพวกเขากดแท็กที่ไม่ปิด
หากคุณไม่เคยพยายามที่จะแยกวิเคราะห์เนื้อหาให้ละเว้นการปิด