2008-08-08 21 views
132

Jakiekolwiek powody, dla których nie powinieneś używać dokumentu w formacie HTML 5?

To ma być wstecznie kompatybilny z HTML4 i XHTML. John Resig posted about some of the benefits.

Dopóki nie używamy żadnego z nowych i dotychczas nie obsługiwanych funkcji, będzie tam żadnego spowolnienia zacząć budowach z tym doctype?

+1

Kończę, ponieważ w tamtym czasie była to ważna sprawa, ale życie się potoczyło i HTML5 jest tutaj. Przyciąga też flagi, ponieważ wiele odpowiedzi to opinia, a nie fakt. – Kev

Odpowiedz

143

Dobrze rozważ to:

Kiedy służąc jako text/html, wystarczy doctype dla jest do uruchomienia trybu standardów. Poza tym doctype nie robi nic, jeśli chodzi o przeglądarki.

Kiedy służąc jako text/html, czy używać znaczników XHTML lub znaczników HTML, jest traktowany przez przeglądarki jako HTML.

Tak naprawdę sprowadza się do używania najkrótszego typu dokumentu, który uruchamia tryb standardów (<! DOCTYPE html>) i używania znaczników HTML, które dają prawidłowy wynik w przeglądarkach.

Reszta jest o zgodnym, walidacji i znaczników prerference.

Tym razem użycie <! DOCTYPE html > teraz i próba uczynienia Twojego znacznika zgodnym z HTML5 nie jest złym pomysłem, o ile trzymasz się stabilnych funkcji, które działają teraz w przeglądarkach. Nie używałbyś niczego w HTML4 ani XHTML 1.x, który nie działa w przeglądarkach, prawda?

Innymi słowy, używasz <! DOCTYPE html > ze znacznikami podobnymi do HTML4, podczas gdy honorowanie rzeczy, które zostały wyjaśnione w HTML5. HTML5 jest w końcu kompatybilny z przeglądarką.

Minusem używania HTML5 jest to, że specyfikacja może się dość często zmieniać. To sprawia, że ​​ważne jest, aby nadążyć za specyfikacją, ponieważ aktywnie się zmienia. Również http://validator.nu/ może nie zawsze być aktualny, ale http://validator.w3.org/ nie zawsze jest aktualny, więc nie pozwól, aby Cię zatrzymać.

Oczywiście, jeśli chcesz używać znaczników XHTML 1.0 i dostosowywać się do XHTML 1.0, nie powinieneś używać <! DOCTYPE html >.

Osobiście zawsze używam <! DOCTYPE html > dla HTML.

+4

Myślałem, że pomijanie URI rzuca przeglądarki w tryb dziwactw, dzięki czemu praca z normami jest daremnym wysiłkiem. –

+5

Dlaczego nie można używać znaczników XHTML 1.0 jako ? Myślałem, że o to chodzi! – Skilldrick

+2

Skilldrick, możesz pisać dokumenty poliglota tak. http://stackoverflow.com/questions/1079427/what-is-a-polyglot-document – Shadow2531

2

Powiedziałbym, że używaj go i testuj intensywnie. Więc daj nam znać, czy to rozwaliło twój dom, czy coś. : ')

3

Moje pytanie do was byłoby dlaczego go używać, jeśli nie korzystają z żadnej z nowych/nieobsługiwanych funkcji. Nie mówię, że nie można się z tym bawić, ale dlaczego zacząć budować witryny z doctype, który nie oferuje żadnych korzyści i może być uzupełniony przez XHTML5.

+3

"Dlaczego warto z niego korzystać, jeśli nie używasz żadnej z nowych/nieobsługiwanych funkcji" - ponieważ jest krótszy i łatwiejszy do zapamiętania? Oczywiście nie jest to duża rzecz, ale wciąż. –

+0

Tak, ale czy to nie był XHTML 1.2 lub XHTML 2.0? ;) –

+1

HTML5 * to * 'XHTML5'. W3C zaprzestał rozwoju "X'HTML. –

1

jeśli zamierzasz używać doctype, eksperymentuj z funkcjami. Dopóki nie wejdą na stronę produkcyjną, a ty je dokładnie przetestujesz, musisz to zrobić.

-16

Osobiście powiedziałbym, że nie. Nie ma wyraźnej korzyści dla HTML5, a nawet posunąłby się do stwierdzenia, że ​​cała sprawa jest spartaczona od samego początku.

Mając wyspecjalizowanych tagi nagłówka, stopki i paski boczne jest ogromnym błędem - masz je już w postaci znaczników (div) i nazw (klasy/id'S). Dlaczego potrzebujemy specjalistycznych? XHTML1.1 jest wystarczająco dobry, kropka. W rzeczywistości, ponieważ większość przeglądarek nie obsługuje poprawnie HTML4, nie ma sensu używać doctype, który zajmie lata, aby uzyskać odpowiednie wsparcie.

+10

Chodzi o semantykę. Możesz doskonale pozbyć się prawie każdego tagu w HTML i używać tylko atrybutów div, span i style/class. Ale w ten sposób usuwasz całą wartość semantyczną z dokumentu. – Laurent

+2

Wystarczy pomyśleć, jak użyteczne będą dla wyszukiwarek. –

+0

@ Laurent: Więc jeśli chcę, aby nagłówek był teraz bocznym paskiem, muszę przejść przez wszystkie moje css i znaczniki, zmieniając je, ponieważ nie jest już semantycznie poprawny? Nie. Zrób div, nazwij to, co robi i użyj go, jak chcesz. @Laith: W jakim sensie będzie to dobre dla wyszukiwarek? –

2

Na podstawie najnowszej wersji beta IE8, wydaje się, że MS użyje dokumentu HTML5 jako obejścia dla quagmire przełączania trybu IE8. Wydaje się, że największym zagrożeniem związanym z wczesnym wdrażaniem wcześnie zapisanego dokumentu HTML5 jest to, że jeśli ludzie publikują wiele niezgodnych z IE8 treści z dokumentem HTML5 przed wysyłką IE8, MS może uzyskać zimne stopy o tym, że sytuacja w trybie jest prosta dla HTML5.

Aktualizacja: To zostało zmienione, wygląda na to. Oczywiście teraz, gdy IE8 już wysłał, powyższe rozważania nie mają już zastosowania. I rzeczywiście, the situation is not simple with IE8.

1

Rozważ odbiorców i swoje potrzeby. Piszę takie strony jak class tests z grupą docelową studentów na moich kursach, którzy używają FireFox 3 w laboratorium komputerowym wyposażonym w Ubuntu. Potrzebuję SVG z MathMl osadzonym jako obiekt obcy w SVG. Używam swobodnie kodu HTML5 i nowych tagów HTML5.

2

Minusem dla mnie głównie dotyczy walidacji:

  1. narzędzi walidacji strona trzecia nie zawsze nadążyć za zmianę specyfikacji, co moje ulubione narzędzia zawodne.
  2. Wolę sprawdzać w stosunku do ścisłych doctypes, aby upewnić się, że zamknąłem wszystkie elementy. Jest to prosty sposób na uniknięcie prostych, ale czasochłonnych błędów zagnieżdżania. Dzięki HTML 5 nie musisz zamykać swoich elementów, więc nie ma sposobu na znalezienie niedopasowanych tagów.
+0

To prawda, dlatego należy szukać sprawdzania html: http://lint.brihten.com/html/help zamiast po prostu walidatora. – Kzqai

0

Dla każdego, kto to znajdzie. Wykres http://hsivonen.iki.fi/doctype/ pokazuje różne tryby renderowania w różnych przeglądarkach używających w zależności od deklaracji DOCTYPE w użyciu. Daje to dobre pojęcie o tym, jak działa przełączanie DOCTYPE.