2009-10-15 11 views
16

Niedawno dowiedziałem się o doctypes i zastanawiałem się, jakie były różnice między <!DOCTYPE html> i niektórymi innymi.Jeśli używam dokumentu w formacie HTML 5, co się stanie?

Wiem, że <!DOCTYPE html> jest typem HTML5 i jest eksperymentalny, ale zastanawiałem się, co by się stało, gdybym go użył zamiast innych doctypes?

Z góry dziękuję !!!!

+6

może zawierać odpowiedź. Http://stackoverflow.com/questions/5629/any-reason-not-to-start-using-the-html-5-doctype – Greg

Odpowiedz

11

Zasadniczo stanie się to, że strona zostanie wyświetlona w "trybie standardowym".

Jedynym powodem, dla którego prawdopodobnie nie powinieneś używać nowego DOCTYPE, jest użycie znaczników XHTML 1.0 i zgodność z XHTML 1.0.

Minusem używania HTML5 jest to, że specyfikacja może się zmienić. To sprawia, że ​​ważne jest, aby nadążyć za specyfikacją, ponieważ aktywnie się zmienia.

W związku z tym zacząłem już używać nowej składni na moich stronach. Gwarantuje to również, że Twoja strona będzie mieć last for a very, very, long time.

Więc śmiało, użyj go (i naucz się kochać, jak łatwo to jest).

3

Lucas przybił najważniejszy aspekt. Pozwolę sobie wyjaśnić to w nieco inny sposób:

W przeglądarce obiekt doctype służy dokładnie jednemu celowi, aby ustawić tryb renderowania: Dziwactwa, prawie standardy i tryb pełnych standardów. To było proste, dopóki MSIE 8 nie wprowadziło drugiego przełącznika, "tryb zgodności" = błędy i ograniczenia MSIE7 są celowo zachowane.

Doctype HTML5 (zazwyczaj) zastępuje to ustawienie, a zatem jest nieco bardziej wydajny niż dokumentacja XHTML 1.x lub HTML 4.01. (MSIE może go zastąpić czasami, choć.)

The Definitive Guide do DOCTYPE przełączania i tryb układ jest pod adresem: http://hsivonen.iki.fi/doctype/

Drugą rzeczą, która będzie się zdarzyć, że masz swoje strony zatwierdzone zgodnie z zasadami HTML5. Niektóre elementy i atrybuty, które były dozwolone w HTML 4, zniknęły i pojawiły się nowe.

Edytuj: Usuwanie przykładu. Mieszanie elementów znanych jako elementy śródliniowe i blokowe jest teraz w porządku. (W oryginalnym wniosku nie było).

Semantyka i składnia HTML5 jest w większości taka, jak w HTML 4, więc większość dobrze napisanych stron HTML 4 będzie nadal sprawdzana. Główną różnicą jest to, że mat zaczyna używać nowych rzeczy i nadal jest ważny.

+0

@Lars - witamy. Nie musisz kodować kodu w ten sposób - zacznij od 4 spacji lub kliknij przycisk Kod (1010101). – Kobi

+0

@Kobi: Naprawiłem to dla niego. – Kredns

+0

Nie ma nic złego w mieszaniu elementów blokowych i wbudowanych w rodzeństwo w HTML5. Zobacz odpowiedź Bruce'a – Anish

3

Doctype HTML5 nie jest eksperymentalne. Ian Hickson przetestował kilka przeglądarek i stwierdził, że <!DOCTYPE html> działa tak samo, jak dokumenty dociskowe HTML 4 i XHTML 1 (tj. Wyzwolił tryb standardów). Jeśli jednak go użyjesz, walidatory (domyślnie) sprawdzą poprawność strony tak, jakby była HTML5, co może nie być tym, czego potrzebujesz, jeśli faktycznie piszesz HTML 4. (Na przykład: some elements are getting dropped in HTML5. pojawi się jako błąd, jeśli sprawdzisz swoją stronę jako HTML5.)

0

Nie ma nic nielegalnego

<div> 
    <p>foo</p> 
    <span>bar</span> 
</div> 

(Poziom bloku "Warunkami i elementy 'inline' są przestarzałe w HTML5)

Powiązane problemy