Próbowałem sprawdzić inne odpowiedzi, ale wciąż jestem zdezorientowany - szczególnie po zobaczeniu W3schools HTML 5 reference.
Myślałem, że HTML 4.01 miał "pozwolić" pojedynczym znacznikom być tylko <img>
i <br>
. Potem pojawił się XHTML z <img />
i <br />
(gdzie ktoś powiedział, że przestrzeń jest tam dla starszych przeglądarek).
Teraz zastanawiam się, jak powinienem formatować mój kod, kiedy praktykuję HTML 5.
Czy jest to <br>
, <br/>
czy <br />
?
Po prostu <br>
jest wystarczające.
Inne formy są dla kompatybilności z XHTML; aby umożliwić napisanie tego samego kodu co XHTML, i aby działał on również jako HTML. Niektóre systemy generujące HTML mogą być oparte na generatorach XML, a więc nie mają możliwości wyprowadzenia tylko gołego znacznika <br>
; jeśli używasz takiego systemu, to'dobrze jest używać <br/>
, to'po prostu nie jest konieczne, jeśli nie musisz tego robić.
Bardzo niewiele osób faktycznie używa XHTML, jednak. Musisz podać swoją zawartość jako application/xhtml+xml
, aby została ona zinterpretowana jako XHTML, a to nie będzie działać w starych wersjach IE - będzie to również oznaczać, że każdy mały błąd uniemożliwi wyświetlenie strony w przeglądarkach, które obsługują XHTML. Tak więc, większość tego co wygląda jak XHTML w sieci, jest w rzeczywistości serwowane i interpretowane jako HTML. Zobacz Serving XHTML as text/html Considered Harmful aby uzyskać więcej informacji.
XML nie pozwala na pozostawianie otwartych znaczników, więc sprawia, że <br>
jest nieco gorsze niż dwa pozostałe. Pozostałe dwa są mniej więcej równoważne z drugim (<br/>
) preferowanym ze względu na kompatybilność ze starszymi przeglądarkami. Właściwie, spacja przed /
jest preferowana ze względu na kompatybilność, ale myślę, że ma to sens tylko dla tagów, które mają atrybuty. Więc I'd say either <br/>
or <br />
, whichever pleases your aesthetics.
Podsumowując: wszystkie trzy są ważne, przy czym pierwszy (<br>
) jest nieco mniej "przenośny".
Edit: Teraz, gdy wszyscy zwariowaliśmy na punkcie specyfikacji, myślę, że warto zwrócić uwagę na to, że według dev.w3.org:
Znaczniki startowe składają się z. części, dokładnie w następującej kolejności:
- Znak "<".
- Nazwa znacznika elementu.
- Opcjonalnie, jeden lub więcej atrybutów, z których każdy musi być poprzedzony jednym lub kilkoma znakami spacji znakami.
- Opcjonalnie, jeden lub więcej znaków spacji.
- Opcjonalnie, znak "/", który może być obecny tylko wtedy, gdy element jest elementem void..
- Znak ">".