HTML 5: มันเป็น <br/> หรือ <br /> ไหม


2032

ฉันได้พยายามตรวจสอบคำตอบอื่น ๆแต่ฉันยังคงสับสน - โดยเฉพาะอย่างยิ่งหลังจากที่ได้เห็นw3schools HTML 5 อ้างอิง

ฉันคิดว่า HTML 4.01 ก็ควรที่จะ "ช่วยให้" เดี่ยวแท็กเพียงแค่จะและ<img> <br>จากนั้น XHTML ก็มาพร้อมกับ<img />และ<br />( ที่มีคนบอกว่ามีพื้นที่สำหรับเบราว์เซอร์รุ่นเก่า )

ตอนนี้ฉันสงสัยว่าฉันควรจะจัดรูปแบบโค้ดของฉันอย่างไรเมื่อฝึก HTML 5

มันเป็น<br>, <br/>หรือ<br />?


ไม่ว่าอันไหนที่คุณใช้ในวันนี้โปรดพิจารณาว่าเทคโนโลยีช่วยเหลือ (เช่นโปรแกรมอ่านหน้าจอ) อาจจะประกาศ ตัวอย่างเช่น NVDA พูดว่า "blank" ผู้ใช้โปรแกรมอ่านหน้าจอส่วนใหญ่จะไม่ได้รับอะไรนอกจากเสียงรบกวนจากการประกาศพิเศษนั้น พิจารณาเพิ่มrole="presentation"แอตทริบิวต์ยกเว้นในกรณีที่เกิดขึ้นได้ยากซึ่ง Linebreak ทำหน้าที่เป็น 'เนื้อหา'
brennanyoung

ตามข้อมูลจำเพาะปัจจุบัน "6. ถ้าองค์ประกอบเป็นหนึ่งในองค์ประกอบโมฆะหรือถ้าองค์ประกอบเป็นองค์ประกอบต่างประเทศอาจมีตัวละครเดี่ยว U + 002F SOLIDUS (/) ตัวละครนี้ไม่มีผลกับโมฆะ องค์ประกอบ " html.spec.whatwg.org/multipage/syntax.html#start-tags
ทิม Abell

คำตอบ:


1543

เพียง<br>ก็เพียงพอ

แบบฟอร์มอื่น ๆ นั้นเข้ากันได้กับ XHTML เพื่อให้สามารถเขียนรหัสเดียวกันกับ XHTML และใช้เป็น HTML ได้เช่นกัน ระบบบางระบบที่สร้าง HTML อาจขึ้นอยู่กับเครื่องกำเนิด XML ดังนั้นจึงไม่มีความสามารถในการแสดงผลเพียง<br>แท็กเปล่า หากคุณใช้ระบบดังกล่าวคุณสามารถใช้งาน<br/>ได้ไม่จำเป็นถ้าคุณไม่จำเป็นต้องทำ

อย่างไรก็ตามมีคนน้อยมากที่ใช้ XHTML คุณต้องแสดงเนื้อหาของคุณapplication/xhtml+xmlเพื่อให้ตีความเป็น XHTML และจะไม่ทำงานใน IE เวอร์ชันเก่า - หมายความว่าข้อผิดพลาดเล็ก ๆ น้อย ๆ ที่คุณทำจะป้องกันไม่ให้หน้าเว็บของคุณปรากฏในเบราว์เซอร์ที่รองรับ XHTML ดังนั้นสิ่งที่ดูเหมือนว่า XHTML บนเว็บส่วนใหญ่จะได้รับการบริการและตีความในรูปแบบ HTML ดูการให้บริการ XHTML เป็นข้อความ / html พิจารณาว่าเป็นอันตรายสำหรับข้อมูลเพิ่มเติม


23
แต่มี XML ที่ถูกต้องไม่ได้หมายความถึงการให้บริการ XHTML แล้ว มันอาจมีประโยชน์สำหรับการประมวลผลล่วงหน้าในท้องถิ่นทุกชนิด
Michael Krelin - แฮกเกอร์

29
ใช่ แต่คุณต้องระมัดระวังในการประมวลผล HTML เป็น XML เป็นภาษาที่แตกต่างกันและมีเพียงชุดย่อยของแต่ละภาษาเท่านั้นที่เข้ากันได้ ตัวอย่างเช่นใน XML <br/>เป็นแบบเดียวกัน<br></br>แต่ส่วนหลังไม่ใช่ HTML ที่ถูกต้อง
Brian Campbell

10
ไบรอันมีแนวคิดว่าคุณสามารถทำให้ HTML ของคุณเป็นรูปแบบ XML ที่มีรูปแบบที่ดี แน่นอนว่าเมื่อแปลงหนึ่งเป็นอีกสิ่งหนึ่งคุณต้องตรวจสอบให้แน่ใจว่ามันยังใช้งานได้ :)
Michael Krelin - แฮกเกอร์

5
@Marco ฉันไม่คิดว่า document.write จะเร็วมากเมื่อเทียบกับ html ที่แท้จริง (x) (เพราะจะต้องมีการดำเนินการ) ไม่ว่าในกรณีใด Javascript อาจไม่จำเป็นต้องใช้กับคอมพิวเตอร์ทุกเครื่องดังนั้นเว็บไซต์ที่พึ่งพามากเกินไปนั้นก็ไม่ได้มีความยืดหยุ่นมากนัก นอกจากนี้ html ไม่มีฟังก์ชั่น
Michael0x2a

8
@Marco: อืมฉันไม่รู้ว่าdocument.write ใช้งานไม่ได้ใน xhtml - ขอบคุณสำหรับการแบ่งปัน ฉันยอมรับว่าเป็นเรื่องโง่ที่ webapps จะพยายามทำสิ่งใดก็ตามโดยไม่ใช้ Javascript แต่ฉันพยายามพูดว่าเว็บไซต์ที่ใช้ Javascript เกือบ 100% เปอร์เซ็นต์นั้นมีความเปราะมากกว่าและสามารถล้มเหลวเมื่อผู้ใช้ปิดการใช้งานจาวาสคริปต์ (หรือใช้โทรศัพท์รุ่นเก่า หรือบางอย่าง)
Michael0x2a

227

ฉันคิดว่าข้อความนี้จากHTML 5 Reference Draftให้คำตอบ:

3.2.2.2 องค์ประกอบโมฆะ

ระยะองค์ประกอบโมฆะจะใช้ในการกำหนดองค์ประกอบที่จะต้องเป็นที่ว่างเปล่า ข้อกำหนดเหล่านี้ใช้กับไวยากรณ์ HTML เท่านั้น ใน XHTML องค์ประกอบดังกล่าวทั้งหมดจะถือว่าเป็นองค์ประกอบปกติ แต่ต้องทำเครื่องหมายเป็นองค์ประกอบว่างเปล่า

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

ตัวอย่าง HTML:
องค์ประกอบที่เป็นโมฆะในไวยากรณ์ HTML ไม่อนุญาตให้ใช้ในไวยากรณ์ XHTML

<hr>

ตัวอย่าง:
องค์ประกอบที่เป็นโมฆะที่ใช้ไวยากรณ์แท็กปิดตัวเองที่เข้ากันได้กับ HTML และ XHTML

<hr/>

ตัวอย่าง XHTML:
องค์ประกอบที่เป็นโมฆะโดยใช้ไวยากรณ์ XHTML-only ที่มีแท็กปิดท้ายที่ชัดเจน สิ่งนี้ไม่ได้รับอนุญาตสำหรับองค์ประกอบที่เป็นโมฆะในไวยากรณ์ HTML

<hr></hr>

22
ดังนั้นคำตอบคือรหัสโดยเฉพาะอย่างยิ่งโดยไม่ทับและช่องว่าง แต่มีเครื่องหมายทับ (มีหรือไม่มีช่องว่าง) - เป็นตัวเลือก?
Eikern

67
ฉันชอบวิธีที่ข้อกำหนดไม่เฉพาะเจาะจงมาก (ในจุดนี้) "meh ทำในสิ่งที่คุณต้องการ!"
Matt Ellen

42
เนื่องจากเป็นตัวเลือกฉันชอบมากกว่า/>เพราะดีสำหรับการอ่าน
BrunoLM

38
ฉันชอบปิดแท็กอย่างชัดเจนโดยไม่มีเหตุผลนอกเหนือจากความรู้สึกที่ถูกต้องและสมเหตุสมผลเมื่อฉันอ่าน / เขียนโค้ด ฉันยินดีที่ร่างเอกสารอ้างอิง HTML5 เห็นด้วยกับฉัน
ข้อผิดพลาดทางไวยากรณ์

7
ดูเหมือนจะค่อนข้างเฉพาะกับฉัน <br> และ <br /> เป็น HTML5 ที่ถูกกฎหมาย
William Denniss

135

XML ไม่อนุญาตให้เปิดแท็กไว้จึงทำให้<br>แย่กว่าแท็กอื่นเล็กน้อย อีกสองคนนั้นค่อนข้างจะเทียบเท่ากับตัวที่สอง ( <br/>) ที่ต้องการสำหรับความเข้ากันได้กับเบราว์เซอร์รุ่นเก่า ที่จริงแล้วช่องว่างก่อน/เป็นที่ต้องการเพื่อความเข้ากันได้ แต่ฉันคิดว่ามันสมเหตุสมผลสำหรับแท็กที่มีคุณสมบัติเท่านั้น ดังนั้นฉันจะพูดอย่างใดอย่างหนึ่ง<br/>หรือ<br />แล้วแต่ความพอใจของคุณ

ในการสรุป: ทั้งสามใช้ได้กับอันแรก ( <br>) ที่ "พกพา" ได้น้อยลงเล็กน้อย

แก้ไข : ตอนนี้เราทุกคนคลั่งไคล้สเป็คฉันคิดว่ามันคุ้มค่าที่จะชี้ให้เห็นว่าตามdev.w3.org :

แท็กเริ่มต้นประกอบด้วยส่วนต่าง ๆ ดังต่อไปนี้ตามลำดับต่อไปนี้:

  1. อักขระ "<"
  2. ชื่อแท็กขององค์ประกอบ
  3. เป็นทางเลือกหนึ่งแอ็ตทริบิวต์ตั้งแต่หนึ่งตัวขึ้นไปแต่ละตัวต้องมีอักขระช่องว่างอย่างน้อยหนึ่งตัว
  4. เป็นทางเลือกอักขระเว้นวรรคหนึ่งตัวขึ้นไป
  5. เป็นทางเลือกอักขระ "/" ซึ่งอาจมีเฉพาะในกรณีที่องค์ประกอบนั้นเป็นองค์ประกอบที่เป็นโมฆะ
  6. อักขระ ">"

17
HTML ไม่ใช่ XML จริงๆแค่ใกล้กับมันเท่านั้น
tloach

6
ใช่มันไม่ใช่ แต่/เป็นตัวหารร่วมที่นี่ HTML5 อนุญาตให้ใช้งานได้เฉพาะ/: "ทางเลือก, ตัวอักษร" / "ซึ่งอาจปรากฏเฉพาะในกรณีที่องค์ประกอบนั้นเป็นองค์ประกอบที่เป็นโมฆะ"
Michael Krelin - แฮกเกอร์

4
helloworlder ฉันจะบอกว่าข้อกำหนด HTML5 ใกล้เคียงกับ XML-compant
Michael Krelin - แฮกเกอร์

5
ฉันแค่อยากจะเพิ่มว่าทั้ง XML และ HTML ML หมายถึง Markup Language เหตุผลที่มีการทับซ้อนกันระหว่างทั้งสองอย่างนั้นเป็นเพราะพวกเขาทั้งสองถูกกำหนดโดยใช้ SGML (Standardized Generalized Markup Language) แต่ไม่กี่คนที่จำได้ตอนนี้ ...
John Vincent

4
@BennyNeugebauer ถ้าคุณใช้ regex ในการแยกวิเคราะห์ HTML คุณเหลือไม่มากก็น้อยที่จะพึ่งพาโชคของคุณมากกว่าการปิดแท็กอย่างถูกต้อง ;-)
Michael Krelin - แฮกเกอร์

104

ในHTML (สูงสุด HTML 4) : ใช้<br>

ในHTML 5 : <br>เป็นที่ต้องการ แต่<br/>และ<br />ยังเป็นที่ยอมรับ

ในXHTML : <br />เป็นที่ต้องการ ยังสามารถใช้<br/>หรือ<br></br>

หมายเหตุ:

  • <br></br> ไม่ถูกต้องใน HTML 5 มันจะคิดว่าเป็นตัวแบ่งบรรทัดสอง
  • XHTML คำนึงถึงขนาดตัวพิมพ์ HTML ไม่คำนึงถึงขนาดตัวพิมพ์
  • สำหรับความเข้ากันได้แบบย้อนหลังเบราว์เซอร์เก่าบางรุ่นจะแยกวิเคราะห์ XHTML เป็น HTML และล้มเหลว<br/>แต่ไม่ใช่<br />

อ้างอิง:


ตรวจสอบลิงก์แล้ววิธีที่แนะนำคือ <br> แต่จะบอกว่า <br/> ไม่ยอมรับได้ที่ไหน
JackDev

4
หากต้องการชี้แจงสำหรับไวยากรณ์ที่สอดคล้องกับ XML <br/>และ<br />(ที่มี SPACE) จะเท่ากันโดยไม่มีการกำหนดค่าตามความชอบ ดูข้อมูลจำเพาะXML 1.0 ช่องว่าง (SPACE, Tab หรือ LINE FEED) ก่อนที่/>จะเป็นตัวเลือกโดยไม่มีการตั้งค่า
Basil Bourque

1
คุณสามารถอ้างอิงการอ้างอิงสำหรับไวยากรณ์ที่ไม่ใช่ XML ที่ต้องการใน HTML5 ได้หรือไม่ นั่นคือข่าวสำหรับฉัน การสนับสนุนเพิ่มเติมสำหรับความสอดคล้องของ XML ที่เข้มงวดเป็นเป้าหมายของ HTML5 ที่ฉันจำได้ บางทีฉันอาจพลาดบางสิ่งบางอย่างในเอกสาร HTML เทียบกับ XHTMLที่ whatwg.org หรือW3C Polyglot Markup: ประวัติย่อของคำศัพท์ HTML5ที่ W3C
Basil Bourque

1
@BasilBourque ให้ทำการซ้ำสิ่งที่ฉันพูดกับคุณที่อื่น อ่านข้อมูลจำเพาะจริงใน HTML5 สำหรับแท็กและองค์ประกอบและคุณจะไม่เคยพบคำแนะนำหรือข้อเสนอแนะใด ๆ ที่จะต้องหรือแนะนำให้ใช้ปิดทับสำหรับแท็กเหล่านั้น หากคุณต้องการใช้ XML หรือ XHTML แสดงว่าคุณไม่ได้ใช้ HTML และเป็นอีกเรื่องหนึ่ง อย่าใช้เครื่องหมายทับปิดสำหรับแท็ก HTML เหล่านั้น ที่อื่นข้อมูลจำเพาะบอกว่าคุณสามารถวางไว้ที่นั่นได้ แต่ไม่ได้หมายความว่าจะทำอะไรเลยไม่ทำอะไรเลย ดังนั้นจึงไม่มีประโยชน์และไร้ประโยชน์ที่จะใช้ประโยชน์จากมันอย่างไร้จุดหมายและไร้ประโยชน์
Rob

@Rob So มาตรา 8.1.2.1 แท็กเริ่มต้นของส่วนที่ 8 ไวยากรณ์ HTMLของเอกสาร, คำแนะนำ HTML 5.2 W3C, 14 ธันวาคม 2560 ที่เผยแพร่โดย W3C ไม่ใช่ข้อกำหนดที่แท้จริงของ HTML ใช่ไหม กรุณาแนะนำ
Basil Bourque


27

ฉันขอแนะนำให้ใช้<br />ด้วยเหตุผลดังต่อไปนี้:

1) ตัวแก้ไขข้อความและ XML ที่เน้นไวยากรณ์ XML ในสีที่ต่างกันจะเน้นอย่างเหมาะสม<br />แต่นี่อาจไม่ใช่ทุกกรณีหากคุณใช้<br>

2) <br />เข้ากันได้กับ XHTML และ HTML ที่มีรูปแบบที่ดี (เช่น: XHTML) มักจะง่ายต่อการตรวจสอบข้อผิดพลาดและการดีบัก

3) ตัวแยกวิเคราะห์เก่าบางตัวและข้อกำหนดการเข้ารหัสบางอันต้องใช้พื้นที่ก่อนเครื่องหมายทับ (เช่น: <br />แทน<br/>) เช่นข้อกำหนดการเข้ารหัสปลั๊กอิน WordPress ปลั๊กอิน: http://make.wordpress.org/core/handbook/coding-standards/html/

ฉันประสบการณ์ของฉันฉันไม่เคยเจอกรณีที่การใช้<br />เป็นปัญหาอย่างไรก็ตามมีหลายกรณีที่อาจมีปัญหา<br/>หรือโดยเฉพาะอย่างยิ่ง<br>ในเบราว์เซอร์และเครื่องมือรุ่นเก่า


1
HTML ที่มีรูปแบบที่ดีไม่ใช่ XHTML
jmarkmurphy

1
XHTML เป็น HTML ที่มีรูปแบบที่ดีตามคำจำกัดความ XHTML ปฏิบัติตามกฎของ XML ตาม w3schools "XML เป็นภาษามาร์กอัปที่ต้องทำเครื่องหมายเอกสารอย่างถูกต้อง (เป็น" รูปแบบที่ดี ") ... ... โดยการรวมจุดแข็งของ HTML และ XML เข้าด้วยกัน XHTML ได้รับการพัฒนา XHTML ได้รับการออกแบบ HTML ใหม่เป็น XML " (ดูw3schools.com/html/html_xhtml.asp )
Kmeixner

2
HTML สามารถมีรูปแบบที่ดี แต่ไม่ใช่ XML ที่ถูกต้อง W3Schools ไม่ใช่ข้อมูลอ้างอิงที่เชื่อถือได้เสมอไป
jmarkmurphy

อาจารย์หลักสูตรวิทยาการคอมพิวเตอร์มหาวิทยาลัยในการเขียนโปรแกรมเว็บที่ฉันใช้ในปี 1997 ยังทำให้การอ้างว่า xhtml นั้นมีรูปแบบที่ดี ฉันไม่แน่ใจว่าคุณได้รับข้อมูลของคุณจากที่ใดคุณสามารถอ้างอิงแหล่งข้อมูลออนไลน์อย่างเป็นทางการเพื่อสำรองข้อมูลการเรียกร้องของคุณได้หรือไม่?
Kmeixner

1
@jmarkmurphy ฉันคิดว่าบางทีคุณอาจไม่คุ้นเคยกับคำว่า "well-formed" เป็นศัพท์แสงทางเทคนิคเพื่ออ้างถึงข้อกำหนดมาตรฐาน XML และ XHTML ที่แท็กทั้งหมดต้องมีแท็กปิดและต้องซ้อนกันในลำดับที่เหมาะสม . <hr> และ <br> ไม่เป็นไปตามข้อกำหนดของ XML และ XHTML เนื่องจากไม่มีแท็กปิดเช่น: <br /> หรือ <br> </br> ถูกต้อง <br> ไม่ถูกต้อง XHTML หรือ XML . แน่นอนว่า HTML ไม่มีข้อกำหนดที่มีรูปแบบที่เหมาะสมดังนั้น <br> และ <hr> นั้นใช้ได้ใน HTML เท่านั้น
Kmeixner

20

XML กำหนดให้แท็กทั้งหมดมีแท็กปิดที่สอดคล้องกัน ดังนั้นจึงมีไวยากรณ์สั้นพิเศษสำหรับแท็กที่ไม่มีเนื้อหาภายใน

HTML5 ไม่ใช่ XML ดังนั้นจึงไม่ควรมีข้อกำหนดเช่นนี้ ไม่มี HTML 4.01

ยกตัวอย่างเช่นในHTML5 รายละเอียดตัวอย่างทั้งหมดที่มีbrแท็กการใช้ไวยากรณ์ไม่<br><br/>

UPDจริง<br/>จะได้รับอนุญาตใน HTML5 9.1.2.1, 7.


2
"HTML5 ไม่ใช่ XML ดังนั้นจึงไม่ควรมีข้อกำหนดเช่นนี้" ไม่ว่าจะถูกต้องหรือไม่นั้นขึ้นอยู่กับการตีความคำว่า "HTML5" หากเราพูดถึง HTML5 เป็นภาษาแสดงว่าคำสั่งนั้นถูกต้อง อย่างไรก็ตามหากเราพูดถึง HTML5 ว่าเป็นข้อมูลจำเพาะคำสั่งนั้นไม่ถูกต้อง ข้อกำหนด HTML5 กำหนด "คำศัพท์และ API ที่เกี่ยวข้องสำหรับ HTML และ XHTML" ฉันรู้ว่ามันเป็นเรื่องที่น่าเบื่อหน่ายฉันไม่ได้บอกว่าคำตอบนี้ผิดเพียงแค่ให้ข้อมูลเพิ่มเติมแก่ผู้อ่าน
Christian Hujer

14

หากคุณกำลังสนใจในการเปรียบเทียบ (ไม่เข้ากัน แต่การเปรียบเทียบ) <br />แล้วผมติดกับ

มิฉะนั้น<br>จะไม่เป็นไร


1
บางคนควรย้อนกลับ ความหมายเปลี่ยนไป
โจไซยา

9
การเปรียบเทียบคืออะไร ฉันไม่เข้าใจ
tuxayo

12

ทั้งสอง<br>และ<br />เป็นที่ยอมรับใน HTML5 แต่<br>ควรใช้HTML HTML5 อนุญาตให้มีการปิดทับเพื่อให้เข้ากันได้กับเอกสารที่ใช้ HTML 4.01 และ XHTML 1.0 ก่อนหน้านี้มากขึ้นทำให้สามารถย้ายไปยัง HTML5 ได้ง่ายขึ้น แน่นอนว่า<br/>เป็นที่ยอมรับเช่นกัน แต่เพื่อให้เข้ากันได้กับเบราว์เซอร์รุ่นเก่าบางรุ่นควรมีช่องว่างก่อนปิดสแลช ( /)


1
@ Knickerless-Noggins ฉันไม่แน่ใจว่าคุณกำลังอ่านอยู่ที่ใด แต่<br />เป็นที่ยอมรับอย่างสมบูรณ์และ W3Schools ไม่ใช่ข้อกำหนดสำหรับ HTML ดูข้อมูลจำเพาะ HTML5ซึ่งระบุอย่างชัดเจนว่า "ถ้าองค์ประกอบนั้นเป็นหนึ่งในองค์ประกอบที่เป็นโมฆะหรือถ้าองค์ประกอบนั้นเป็นองค์ประกอบต่างประเทศก็อาจมีอักขระ" / "(U + 002F) เพียงตัวเดียว ] "
kevinji

คำตอบนี้เช่นเดียวกับคนอื่น ๆ แสดงถึงความถูกต้องตามกฎหมายของความสอดคล้อง XML ที่เข้มงวดใน HTML5 การสนับสนุน XML ไม่ใช่คุณลักษณะการเปลี่ยนผ่านชั่วคราวหรือการย้ายข้อมูล การสนับสนุนทางเลือกของความสอดคล้องของ XML เป็นเป้าหมายการก่อตั้งของ HTML5 มันเป็นคุณสมบัติที่สำคัญสำหรับผู้ที่ใช้เครื่องมือ XML สำหรับทำงานกับเนื้อหา HTML ของพวกเขา
Basil Bourque

12
  1. หากคุณกำลังแสดงผล HTML ในเว็บไซต์ปกติที่คุณสามารถใช้ได้<br> หรือ <br/>ทั้งคู่จะใช้ได้ตลอดเวลาที่คุณแสดง HTML5 เป็นข้อความ / html

  2. ถ้าคุณจะให้บริการเป็น HTML5 XHTML (เช่นเนื้อหาประเภท application / XHTML + XML, มีการประกาศ XML) <br/>แล้วคุณต้องใช้ตัวเองแท็กปิดชอบโดย:

    หากคุณไม่ได้เบราว์เซอร์บางตัวอาจปฏิเสธที่จะแสดงผลหน้าเว็บของคุณ (โดยเฉพาะ Firefox นั้นเข้มงวดมากเกี่ยวกับการแสดงผลเฉพาะหน้า xhtml + xml ที่ถูกต้อง)

    ตามที่ระบุไว้ใน 1 <br/>ยังใช้ได้กับ HTML5 ที่เกิดขึ้นเพื่อสร้างเป็น XML แต่ทำหน้าที่เป็นข้อความ / html ปกติโดยไม่มีการประกาศ XML (เช่นจากการแปลง XSL ที่สร้างหน้าเว็บหรือสิ่งที่คล้ายกัน)

หากต้องการล้างความสับสน: การเว้นวรรคก่อนเครื่องหมายทับไม่จำเป็นใน HTML5 และไม่สร้างความแตกต่างใด ๆ กับวิธีการแสดงผลหน้าเว็บ (ถ้าใครสามารถอ้างอิงตัวอย่างฉันจะเพิกถอนสิ่งนี้ แต่ฉันไม่เชื่อ จริง - แต่ IE ก็ทำสิ่งแปลก ๆ มากมายพร้อม<br>แท็กทุกรูปแบบ)

เครื่องมือตรวจสอบความถูกต้องที่ยอดเยี่ยมที่http://validator.w3.orgมีประโยชน์อย่างมากสำหรับการตรวจสอบว่ามีอะไรถูกต้อง (แม้ว่าฉันไม่แน่ใจว่าคุณสามารถไว้ใจได้เพื่อตรวจสอบประเภทเนื้อหา)


รอข้อความ / html mimetype เป็น XML ที่เข้มงวดใช่ไหม
amwinter

1
คุณไม่ควรให้บริการด้วยการประกาศ XML หากใช้ text / html แต่เนื้อหานั้นอาจเป็น XML ที่ถูกต้อง (เช่นสร้างจากสิ่งที่ส่งออก XML เช่น XSLT output หรือวัตถุที่ต่อเนื่องกับ XML)
เลนคอลลินส์

ยังไม่เข้าใจ: ถ้าข้อความ / html ควรมี a <br />เมื่อไหร่ฉันควรใช้ unclosed <br>?
amwinter

1
ขออภัยทั้งคู่ใช้ HTML5 ได้หากเป็นข้อความ / html คุณสามารถยืนยันนี้ด้วย (ส่วนใหญ่) ตรวจสอบที่น่ากลัวมากกว่าที่validator.w3.org ข้อความข้างต้นของฉันไม่ดีฉันเห็นว่าตอนนี้จะแก้ไขได้
เลนคอลลินส์

3
ฉันคิดว่ามันเป็น Netscape Navigator 3 หรือ 4 ซึ่งไม่ชอบ<br/>แน่นอนไม่มีอะไรต้องกังวลในวันนี้และอายุ
robertc

12

ทั้งสอง<br>และ<br/>จะทำได้ดี แต่ฉันชอบ<br/>เพราะมันมีเหตุผลมากกว่านี้เล็กน้อย มันเป็นเหตุผลที่คาดหวังแท็กปิดเมื่อใดก็ตามที่มีแท็กเปิด ดังนั้นรหัสของคุณจะอ่านง่ายขึ้นเล็กน้อยถ้าคุณไม่ใช้แท็กเปิดเมื่อไม่มีแท็กปิด

เบราว์เซอร์ทั้งหมด (ยกเว้นบางอันที่เก่ามาก ๆ ที่ไม่สำคัญ) จะแสดงทั้งสองอย่างเดียวกัน อย่างไรก็ตาม<br>ไม่ใช่ xHTML ที่ใช้งานได้


7

<br>และ<br/>ทำให้แตกต่างกัน เบราว์เซอร์บางตัวตีความ<br/>ว่าเป็น<br></br>และแทรกตัวแบ่งบรรทัดสองบรรทัด


12
อะไร? คุณรู้หรือไม่ว่าเบราว์เซอร์ใด
Eikern

7
พบสิ่งนี้เมื่อทำการทดสอบเบราว์เซอร์ยุค ie5 / ns4 ถ้าฉันจำได้อย่างถูกต้องมันเป็นเช่นในโหมดการปฏิบัติตามมาตรฐาน แต่เมื่อนานมาแล้ว ...
ซามูเอล

3
สำหรับ HTML4 เบราว์เซอร์ที่เข้มงวด (ซึ่งเป็นจริงเพียง HTML4 ตรวจสอบ) หมายถึง<br /> <br>&gt;
Konrad Borowski

7

<br>จะเพียงพอ แต่ใน XHTML <br />เป็นที่ต้องการตาม WHATWGและตามของ W3C

อ้างส่วน 8.1.2.1ของคำแนะนำ HTML 5.2 W3C, 14 ธันวาคม 2560

แท็กเริ่มต้นต้องมีรูปแบบต่อไปนี้:

...

  1. หลังจากแอททริบิวต์หรือหลังชื่อแท็กหากไม่มีแอททริบิวอาจมีช่องว่างอย่างน้อยหนึ่งตัว (แอตทริบิวต์บางอย่างจำเป็นต้องมีเว้นวรรคตามด้วยดูที่§8.1.2.3คุณสมบัติด้านล่าง)

  2. จากนั้นถ้าองค์ประกอบนั้นเป็นหนึ่งในองค์ประกอบที่เป็นโมฆะหรือถ้าองค์ประกอบนั้นเป็นองค์ประกอบต่างประเทศก็อาจมีตัวละคร U + 002F SOLIDUS เดียว (/) ตัวละครนี้ไม่มีผลกับองค์ประกอบที่เป็นโมฆะ แต่องค์ประกอบต่างประเทศจะทำเครื่องหมายแท็กเริ่มต้นว่าเป็นการปิดตัวเอง

ถ้าคุณใช้ Dreamweaver CS6 <br />แล้วมันจะเติมข้อความอัตโนมัติเป็น

เพื่อตรวจสอบไฟล์ HTML ของคุณบน W3C ดู: http://validator.w3.org/


@Julix แน่นอนทำไมลงคะแนนเสียง? นี่เป็นหนึ่งในคำตอบที่ถูกต้องไม่กี่ข้อในหน้านี้ HTML5 นั้นสอดคล้องกับ XML อย่างแน่นอนตัวเลือกและในไวยากรณ์ XML จะต้องปิดแท็กเดียวด้วยเครื่องหมายทับ วิธีการสามารถข้อเท็จจริงง่ายๆดังกล่าวจะเข้าใจผิดดังนั้นเมื่อเขียนในสีดำและสีขาวในข้อมูลจำเพาะ
Basil Bourque

5

ในการตรวจสอบของคำถามนี้มันขึ้นอยู่กับสิ่งที่!DOCTYPEคุณพยายามรับการตรวจสอบผ่าน

รายการโปรดส่วนตัวของฉันคือ4.01 Transที่ฉันใช้<br/>และจะล้างคำเตือนและข้อผิดพลาดที่อาจโผล่ขึ้นมาในระหว่างการตรวจสอบ

เข้มงวดเป็นสัตว์ร้ายที่ซับซ้อนกว่ามากมันเกลียด"SHORTTAGS"และค่อนข้างต้องการเพียงตัวอักษรเท่านั้น<br></br>

ในHTML5หรือ "LAX" ของโลกรหัสไม่มีคำตอบdetects every example you put upที่ถูกต้องเพราะมันถูกต้อง ......

ในท้ายที่สุดฉันคิดว่าทุกสิ่งที่สำคัญis what validation YOU PREFERหรือthe person that you are working for prefers... กับการlackadaisicalเคลื่อนไหวในความเข้มงวดของรหัสในhtml5เรากำลังเห็น CODERS ที่ขี้เกียจมาก


4

IMHO เป็นการดีกว่าที่จะใช้สัญกรณ์ปกติ ( <br />) แทนสัญกรณ์ให้อภัย ( <br>) ด้วยเหตุผลดังต่อไปนี้:

ความมั่นคง

ใน HTML ของคุณอาจมี SVG และ SVG บางตัวเท่านั้นที่รองรับรูปแบบปกติ (เช่น<rect />)

Hackability

ไม่ใช่กรณีที่กรอบเช่นReactและNativeScriptใช้สัญกรณ์ XML
รหัสมาร์กอัปของคุณจะง่ายต่อการแยกวิเคราะห์

ความชัดเจน

สัญกรณ์ปกตินั้นง่ายต่อการอ่านและเข้าใจแม้กระทั่งตอนดึก

ข้อมูลจำเพาะ

ทั้งสอง<br>และ<br />เป็นแท็ก HTML ที่ถูกต้อง

ข้อสรุป

หากคุณใช้เท็กซ์เอดิเตอร์แบบเต็มใบกำหนดค่าให้ใช้สัญกรณ์ปกติ (ซึ่งเรียกว่า XHTML โดยEmmet )
ตัวอย่างเช่นในVisual Studio Codeคุณเพียงแค่เพิ่มบรรทัดต่อไปนี้ในการตั้งค่าของคุณ:

"emmet.syntaxProfiles": {"html": "xhtml"}

1
พูดอย่างเคร่งครัดพวกเขาทั้งคู่เป็นสัญกรณ์สั้น: สัญกรณ์สั้น HTML และสัญกรณ์สั้น XML ตามลำดับ เครื่องหมายสมบูรณ์คือ<br></br>และใช้ได้ใน X (HT) ML แต่ไม่ใช่ใน HTML
Ilya Streltsyn

1
HTML5 ไม่ได้แนะนำ <br> มันจะเป็น HTML เสมอ XHTML แนะนำ <br/>
jmarkmurphy

1
ในการเข้าสู่ประวัติศาสตร์ของสิ่งนี้อย่างถูกต้องคุณจะต้องเจาะลึก SGML
Michael Kay

3

ทั้งหมดที่ฉันรู้ก็คือมัน<br />ให้การหยุดพักที่มีเส้นสีขาวและ<br>แค่หยุดพักในบางกรณี สิ่งนี้เกิดขึ้นกับฉันเมื่อฉันตั้งค่าสคริปต์ IPN (PHP) และส่งอีเมลและตรวจสอบกล่องจดหมายเข้า ไม่รู้ทำไม แต่ฉันได้รับข้อความให้ดูเรียบร้อยโดยใช้ทั้งสองอย่าง<br /> and <br>

ดูจดหมายได้ที่นี่: http://snag.gy/cLxUa.jpg

ข้อความสองส่วนแรกแยกจากกัน<br />ดังนั้นบรรทัดว่างช่องว่างสามแถวสุดท้ายของข้อความที่อยู่ด้านล่างและส่วนสุดท้ายคั่นด้วย<br>และเพียงให้แถวใหม่


3
เบราว์เซอร์ใดที่เป็นเช่นนั้น?
Dave Burton


2

ขณะที่คนอื่น ๆ ได้รับการคุ้มครองทั้งสอง<br>และ<br/>เป็นที่ยอมรับ

ผมคิดว่าการถ่วงดุลอำนาจคือการอ่านที่ดีขึ้นและความเข้ากันได้ของเมื่อเทียบกับการส่งตัวละครตัวหนึ่งน้อยไปยังผู้ใช้ที่มี<br/><br>

และเนื่องจากGoogleใช้<br>เช่นนั้นฉันจะ

(แน่นอนว่าพวกเขาอาจจะให้บริการฉัน<br>เพราะฉันใช้ Chrome ซึ่งพวกเขารู้ว่าสนับสนุนใน IE พวกเขาอาจยังคงให้บริการ<br/>)


2

<br>ทำงานได้ดี รุ่นที่เข้มงวดเช่น XHTML คุณต้องเพิ่มปิดและรุ่นเก่าจริงๆของ HTML ที่ไม่รวมDOCTYPEยี่ห้อแท็กที่ไม่เป็นโมฆะเช่น<br><br></br>

สรุป: <br>ไม่เป็นไร ส่วนคนอื่นก็ไม่เป็นไร


2

ในHTML5เครื่องหมายทับไม่จำเป็นอีกต่อไป: <br>,<hr>


เครื่องหมายทับไม่จำเป็นและไม่เคยถูกระบุในข้อกำหนด HTML ใด ๆ หรือแม้แต่ใช้เป็นตัวอย่างในข้อกำหนด
Rob

1
@Rob ฉันไม่ทราบว่าคุณได้รับข้อกำหนด HTML ของคุณจากที่ใด แต่ฉันได้รับประโยชน์จากองค์กร WHATWG และ W3C รายละเอียดการเผยแพร่ทั้งสองที่กำหนดความสอดคล้องของ XML อย่างเข้มงวดเป็นคุณสมบัติเสริมของ HTML5 />นี้โดยเฉพาะรวมถึงการปิดแท็กเดียวที่มี ดูส่วน 8.1.2.1 & 2 และดูเอกสาร HTML กับ XHTMLที่ whatwg.org และW3C Polyglot Markup: ประวัติย่อของคำศัพท์ HTML5ที่ W3C
Basil Bourque

@BasilBourque โปรดอ่านข้อกำหนดที่แน่นอนสำหรับแท็กเหล่านั้นใน HTML และอย่าแสดง XML หรือ XHTML ซึ่งไม่ใช่หัวข้อที่นี่ คุณจะไม่พบคำหรือตัวอย่างที่เป็นลายลักษณ์อักษรใด ๆ ในข้อกำหนดสำหรับ HTML ใด ๆ ในประวัติศาสตร์ของอินเทอร์เน็ตที่มีการใช้เครื่องหมายสแลชปิดหรือแนะนำ
Rob

1
@Rob สิ่งที่ฉันทำได้คือทำซ้ำ: W3C เผยแพร่เอกสารที่เรียกว่าHTML 5.2โดยที่หัวข้อ 8.1.2.1 แท็กเริ่มระบุชัดเจนว่าแท็กปิดตัวเองด้วยหรือด้วยเครื่องหมายทับนั้นถูกต้องในจุดที่ 6: จากนั้นหากองค์ประกอบนั้นเป็นหนึ่งในองค์ประกอบที่เป็นโมฆะหรือถ้าองค์ประกอบนั้นเป็นองค์ประกอบต่างประเทศอาจมี U ตัวเดียว + 002F อักขระ SOLIDUS (/) ตัวละครนี้ไม่มีผลกับองค์ประกอบที่เป็นโมฆะ แต่องค์ประกอบต่างประเทศจะทำเครื่องหมายแท็กเริ่มต้นว่าเป็นการปิดตัวเอง เอกสารอื่นที่ฉันเชื่อมโยงอธิบายว่าหากแสดง HTML5 ของคุณเป็น XML ต้องใช้เครื่องหมายทับ
Basil Bourque

1
@BasilBourque ฉันไม่เคยพูดว่ามันไม่ถูกต้อง ฉันบอกว่ามันไม่มีความหมายและไม่มีจุดประสงค์ในขณะที่ตัวคุณเองอ้าง และอีกครั้งคุณกำลังแสดง XML เพื่อใช้ใน HTML อย่าทำอย่างนั้น! พวกเขาไม่เหมือนกัน! เราเรียกว่า "tag soup" เมื่อตัวแยกวิเคราะห์ HTML ต้องการตีความเนื้อหา XML
Rob

2

กรณีส่วนใหญ่ใน HTML แท็กเป็นคู่ แต่สำหรับการขึ้นบรรทัดใหม่คุณไม่จำเป็นต้องมีแท็กคู่หนึ่ง ดังนั้นเพื่อระบุสิ่งนี้ HTML ใช้<br/>รูปแบบ <br/>เป็นสิ่งที่ถูกต้อง ใช้รูปแบบนั้น

<br>แท็กไม่มีแท็กปิดท้ายใน HTML ใน XHTML <br>แท็กจะต้องปิดอย่างถูกต้องเช่นนี้:<br />

ใน XML ทุกแท็กจะต้องปิด XHTML เป็นส่วนขยายของ XML ดังนั้นจึงต้องปฏิบัติตามกฎของ XML ทั้งหมดเพื่อให้เป็น XHTML ที่ถูกต้อง ดังนั้นแม้กระทั่งแท็กที่ว่างเปล่า (โหนดที่ไม่มีโหนดย่อย) เช่น
ควรปิด XML มีรูปแบบย่อที่เรียกว่าแท็กปิดตัวเองสำหรับโหนดว่าง <br></br> as <br />คุณสามารถเขียน ดังนั้นใน XHTML<br />จะใช้

HTML มีความผ่อนปรนมากในเรื่องนี้และไม่มีกฎดังกล่าว ดังนั้นใน HTML ที่ว่างเปล่าโหนดเช่น<br> <hr> <meta>ฯลฯ จะถูกเขียนโดยไม่ต้องใช้เครื่องหมายทับหน้าปิด

HTML

<br>
<hr>
<meta name="keywords" content="">
<link rel="canonical" href="http://www.google.com/">

XHTML

<br />
<hr />
<meta name="keywords" content="" />
<link rel="canonical" href="http://www.google.com/" />

แท็กบางตัวเท่านั้นที่สามารถปิดได้ด้วยตนเอง ตัวอย่างเช่น<script src="jQuery.min.js" />XHTML DTD ไม่อนุญาตให้ใช้แท็กเช่น


1

อืมมมมมมมมมมมมที่เคยรู้จักกับผู้จัดจำหน่าย บริษัท ตัวแทนผู้ใช้หรือผู้ผลิตเบราว์เซอร์ที่เคยทำตามข้อกำหนด W3C ได้ 100% ดังนั้นหาก HTML5 บอกว่ารองรับทั้งเวอร์ชันอิลิเมนต์เบรกเกอร์ทั้งสามเวอร์ชันคุณสามารถเดิมพันผู้ขายที่สนับสนุนเวอร์ชันที่เหมือนกันและลื่นไหลกว่าเดิม!

สิ่งเดียวที่มีความสำคัญในการอภิปรายนี้คือการใช้รหัสที่สอดคล้องกันซึ่งเกิดขึ้นกับข้อมูลจำเพาะ XML รวมทั้งข้อกำหนด HTML เมื่อเป็นไปได้ นั่นหมายความว่าคุณควรใช้ XML แท็กหยุดพักที่ถูกต้องและสนับสนุนให้ทีมของคุณทำเช่นเดียวกัน:

<br />

ควรใช้ฟอร์แมตสแลชสแลชแบบเดียวกันกับแท็ก img, a, hr และ meta ในรหัสของคุณ ทำไม? เพราะ:

  1. มันเข้ากันได้ย้อนหลังกับ XHTML user-agent / browser เก่ากว่า
  2. ผู้จำหน่ายเบราว์เซอร์สนับสนุนเวอร์ชัน XML อยู่แล้วดังนั้นข้อมูลจำเพาะ HTML5 จึงเป็นสิ่งที่ต้องพิจารณา
  3. การใช้งานเลอะเทอะของตัวแทนผู้ใช้ส่วนใหญ่ในวันนี้ในอดีตและในอนาคตจะยอมรับได้
  4. จะช่วยให้มาร์กอัปของคุณเปรียบได้กับมาตรฐาน XML หากคุณต้องการกลับไปสร้างเอกสาร XHTML / XML จากมาร์กอัปของคุณ
  5. มันเป็น "วิธีปฏิบัติที่ดีในการเขียนโปรแกรม" สำหรับนักพัฒนาเว็บทั้งหมดเพื่อใช้วิธีการมาร์กอัปที่เป็นของแข็งซึ่งติดตาม XML รวมถึงการเข้ารหัสในตัวพิมพ์เล็กคุณลักษณะที่ยกมาทั้งหมดอักขระ XML ที่หลบหนีและอื่น ๆ เพราะเหตุใด ในอนาคตหากคุณต้องเปลี่ยนเป็นข้อมูล XML คุณจะต้องเขียนโค้ดและคิดเป็น XML โดยอัตโนมัติ
  6. เราสามารถหวังได้ว่าในอนาคตเวิลด์ไวด์เว็บเราจะย้ายออกจากมาตรฐานที่ดำเนินการโดยผู้จำหน่ายส่วนตัวและกลับไปที่มาร์คอัปที่มั่นคงน่าเชื่อถือและตรวจสอบได้ซึ่งแยกวิเคราะห์ได้เร็วขึ้นเคลื่อนย้ายข้อมูลผ่านสายได้เร็วขึ้นและทำให้อินเทอร์เน็ตในอนาคตเป็นมาตรฐานมากขึ้น สื่อที่ใช้ XML

นอกจากนี้ในโลกของหุ่นยนต์และเครื่องจักรที่นี่หุ่นยนต์ไม่มีปัญหาการเข้ารหัส Human-interface HTML5 แก้ปัญหาให้พวกเราพวกเขายินดีที่จะกลับไปที่ระบบข้อมูล XML และแยกวิเคราะห์เว็บเพจ UI ดังกล่าวได้เร็วขึ้นเมื่อแปลงเป็น XML ข้อมูล.



0


ทำงานได้ดีใน HTML5 HTML5 อนุญาตให้เพิ่มระยะทางได้มากกว่า XHTML เล็กน้อย



-3

<br> และ <br />แสดงผลในเบราว์เซอร์บางตัวที่แตกต่างกันดังนั้นการเลือกอย่างใดอย่างหนึ่งจะไม่ส่งผลเสียต่อโครงการของคุณ แต่คาดหวังว่าจะพบว่ามีจำนวนมาก .. แทนที่ส่งผลต่อการแสดงผลหน้าเว็บในเบราว์เซอร์บางตัว ความอัปยศควรเปลี่ยนแปลงไม่มีผลอะไรในเบราว์เซอร์ทดสอบของคุณ แต่ทำลายในเบราว์เซอร์ที่ต้องการของลูกค้าของคุณ

ฉันชอบ<br>เพราะมันเป็นสิ่งที่ฉันใช้ตั้งแต่ Erwise และ Netscape Navigator (เว็บเบราว์เซอร์รุ่นแรก) แต่ไม่มีเหตุผลที่จะไม่เลือก<br />แทน มันอาจมีประโยชน์สำหรับการประมวลผลล่วงหน้าการเปรียบเทียบและอื่น ๆ

แม้ว่าตัวเลือกของคุณจะลดลงเพื่อเลือกรูปลักษณ์ของอีกด้านหนึ่งหรือคุณ (หรือตัวแก้ไข HTML ที่คุณชื่นชอบเช่น Dreamweaver) อาจต้องการให้โค้ดของคุณสอดคล้องกับ xml มันขึ้นอยู่กับคุณ.

หมายเหตุด้านด่วน:

เพื่อไม่ให้สับสนbrแต่นอกจากนี้คุณยังอาจพิจารณาใช้wbrแท็กใน HTML ของคุณ: แท็กโอกาสในการแบ่งคำซึ่งระบุตำแหน่งในข้อความที่จะเป็นการดีที่จะเพิ่มการแบ่งบรรทัด

สำหรับการอ่านเพิ่มเติมกรุณามีการอ่านเป็นข้อมูลจำเพาะของ HTML5


5
ดูข้อมูลจำเพาะ HTML5ซึ่งระบุอย่างชัดเจนว่า "ถ้าองค์ประกอบนั้นเป็นหนึ่งในองค์ประกอบที่เป็นโมฆะหรือถ้าองค์ประกอบนั้นเป็นองค์ประกอบต่างประเทศอาจมีอักขระ" / "(U + 002F)เดียว ] " <br>แน่นอนเป็นองค์ประกอบที่ว่างเปล่าดังที่คุณเห็นในลิงค์ในเครื่องหมายคำพูด
kevinji

-4

องค์ประกอบที่ไม่มีแท็กสิ้นสุดเรียกว่าแท็กเปล่า ใน html 4 และ html 5 ไม่จำเป็นต้องใช้แท็กปิดท้ายและสามารถละเว้นได้

ใน xhtml แท็กเข้มงวดมาก ซึ่งหมายความว่าจะต้องเริ่มต้นด้วยแท็กเริ่มต้นและสิ้นสุดด้วยแท็กสิ้นสุด


1
ไม่ถูกต้อง แท็กเดียวนั้นใช้ได้ใน HTML5 เป็นคู่ของแท็กเริ่มต้น ดูHTML ที่ 5.2 สเปค
Basil Bourque
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.