Skúsil som sa pozrieť na iné odpovede, ale stále som zmätený - najmä po tom, čo som videl W3schools HTML 5 reference.
Myslel som si, že HTML 4.01 malo "umožniť", aby single-tagy boli len <img>
a <br>
. Potom prišiel XHTML s <img />
a <br />
(kde niekto povedal, že medzera je tam pre staršie prehliadače).
Teraz'rozmýšľam, ako mám'formátovať svoj kód, keď praktizujem HTML 5.
Je to <br>
, <br/>
alebo <br />
?
Jednoducho stačí <br>
.
Ostatné formy sú tu kvôli kompatibilite s XHTML; aby bolo možné napísať rovnaký kód ako XHTML a zároveň fungoval ako HTML. Niektoré systémy, ktoré generujú HTML, môžu byť založené na generátoroch XML, a teda nemajú možnosť vypisovať len holý tag <br>
; ak'používate takýto systém, je v poriadku používať <br/>
, len to nie je nevyhnutné, ak to nepotrebujete.
V skutočnosti však XHTML používa len veľmi málo ľudí. Aby bol obsah interpretovaný ako XHTML, musíte ho podávať ako application/xhtml+xml
, čo nebude fungovať v starých verziách IE - bude to tiež znamenať, že akákoľvek malá chyba, ktorú urobíte, zabráni zobrazeniu vašej stránky v prehliadačoch, ktoré podporujú XHTML. Takže väčšina toho, čo na webe vyzerá ako XHTML, sa v skutočnosti podáva a interpretuje ako HTML. Ďalšie informácie nájdete v časti Servovanie XHTML ako text/html sa považuje za škodlivé.
XML neumožňuje ponechávať otvorené značky, takže <br>
je o niečo horšie ako ostatné dva. Ostatné dva sú približne rovnocenné, pričom druhý (<br/>
) je preferovaný kvôli kompatibilite so staršími prehliadačmi. V skutočnosti sa kvôli kompatibilite uprednostňuje medzera pred /
, ale myslím, že to má zmysel len pre značky, ktoré majú atribúty. Takže by som povedal buď <br/>
alebo <br />
, podľa toho, čo vyhovuje vašej estetike.
Aby som to zhrnul: všetky tri sú platné, pričom prvý z nich (<br>
) je trochu menej "prenosný".
Edit: Keď už sme sa všetci zbláznili do špecifikácií, myslím, že stojí za to zdôrazniť, že podľa dev.w3.org:
Štartovacie značky sa skladajú z nasledujúcich prvkov častí, a to presne v nasledujúcom poradí:
- Znak "<".
- Názov značky prvku.
- Voliteľne jeden alebo viac atribútov, z ktorých každý musí byť pred ktorým sa nachádza jedna alebo viac medzier znakov.
- Voliteľne jeden alebo viac znakov medzery.
- Povinne znak "/", ktorý môže byť prítomný len vtedy, ak je prvok je prázdny prvok.
- Znak ">".