2012-11-29 12 views
10

Da quello che ho letto, il modo corretto per iniziare una pagina HTML5 è:HTML5 html-tag e DOCTYPE

<!DOCTYPE html> 
<html> 

con niente di più in quelle righe. È vero? (Mi sto chiedendo perché Visual Studio ha più di questo.)

(Inoltre, mi chiedo se HTML5 è in realtà l'attuale standard o dovrei usare XHTML5 o qualche altra versione.)

+2

cosa ti offre Visual Studio? –

risposta

11

Secondo lo HTML living standard e the W3C spec, il doctype è il preambolo richiesto ma richiesto per motivi legacy. Cito:

  1. Una stringa che è una corrispondenza case-insensitive ASCII per la stringa "<!DOCTYPE".
  2. Uno o più caratteri di spazio.
  3. Una stringa che corrisponde a una distinzione tra maiuscole e minuscole ASCII per la stringa "html".
  4. Opzionalmente, una stringa legacy DOCTYPE o una stringa DOCTYPE obsoleta (definita di seguito).
  5. Zero o più caratteri di spazio.
  6. Un carattere U + 003E MAGGIORE-SIGNIFICATO (>).

In altre parole, <!DOCTYPE html>, case-sensitive.

E <html></html> di un documento valido

(Inoltre, mi chiedo se HTML5 è in realtà l'attuale standard o dovrebbe I essere utilizzando XHTML5 o qualche altra versione.)

Non è lo standard IMHO attuale perché non è ancora finito. Ma this article spiega molto bene 10 motivi per utilizzarlo ora.

+0

Nota che anche se WhatWG e W3C stanno lavorando su diversi documenti al momento. Quella parte è sempre la stessa: http://dev.w3.org/html5/spec/single-page.html#the-doctype – Sebastian

+0

@Sudastia acuta osservazione, dovrei cambiare i riferimenti? – ElderMael

+0

Sentiti libero di aggiungere il "mio" link alla tua risposta - avere entrambe è probabilmente la soluzione migliore ... – Sebastian

1

Sì, è corretto per quanto ne so.

3

Sì, è vero. Nessun doctype più complicato in HTML5. Il nuovo standard è semplificato e c'è solo quello che hai detto.

+0

come fanno i browser che non supportano html5 a gestire quel doctype? –

4

Principalmente sì. Ma le specifiche HTML5 per the <html> element says

Gli autori sono invitati a indicare un attributo lang sull'elemento radice html , dando il linguaggio del documento. Questo aiuta gli strumenti di sintesi vocale per determinare quali pronunce utilizzare, gli strumenti di traduzione su determinano quali regole utilizzare e così via.

meglio così, per una pagina il cui contenuto è in inglese americano, sarebbe

<!DOCTYPE html> 
<html lang="en-us"> 

Anche se si utilizza XHTML5 servito come application/xhtml+xml è necessario aggiungere lo spazio dei nomi, e anche l'equivalente XML dell'attributo lang rendendo:

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-us" xml:lang="en-us"> 
2

Secondo bozze HTML5, “a DOCTYPE è un preambolo necessaria”. Si consiglia il preambolo <!DOCTYPE html>, ma i doctype legacy sono consentiti come alternativa, sebbene "non dovrebbero essere usati a meno che il documento non sia generato da un sistema che non può produrre la stringa più corta". L'unica parte che è necessaria in aggiunta ad essa è l'elemento title, e persino può essere omesso in determinate condizioni. Il tag <html> non è richiesto.

HTML5 non è uno standard. Non è nemmeno una raccomandazione del W3C (ancora). Quello che dovresti usare dipende da cosa stai facendo. Non importa quale versione di HTML pensi di usare. Ciò che conta è il markup che hai e su come i browser (e i motori di ricerca, ecc.) Lo elaborano.