2009-12-16 7 views
6

Ho notato che Visual Studio imposta il valore DOCTYPE su XHTML 1.0 Transitional. Questo sembra ok, ma penso che sia più uno standard per i browser di "generazione 6". Ora siamo nei browser gen 7 e 8 e mi chiedo quale DOCTYPE dovrei inserire nel mio HTML.Quale DOCTYPE è consigliato per il mio output HTML per IE7/IE8/FF3 +? e come posso aggiornare la mia convalida HTML in Visual Studio per riflettere tale modifica?

Su una nota correlata: C'è un modo per aggiungere altri DOCTYPE alla convalida HTML in Visual Studio 2008? Strumenti> Opzioni> Editor di testi> HTML> Convalida

risposta

23
<!doctype html> 

è il modo andare. Funziona bene con tutti i browser decenti, incluso IE6 (non che sia uno di quelli decenti). Vedi anche http://hsivonen.iki.fi/doctype/ per ulteriori informazioni sullo sfondo e una tabella dei comportamenti del browser.

Si potrebbe anche considerare XHTML severo, ma perché si dovrebbe pulire HTML pulito in un formato XML? È interessante solo se si desidera analizzare/generare/convalidare l'HTML utilizzando uno strumento XML, che spesso non è il caso nel mondo reale. Google utilizza anche solo <!doctype html> e Stackoverflow utilizza rigorosamente HTML strict.

+3

+1 per un buon collegamento, ma non so se ci si dovrebbe fidare di qualcosa che parla della compatibilità del browser e rende * così * male su Chrome :) –

+1

http://10kdev.ivystreetinc.com/581/ie8-not-loading-backbonejslesscss-application. Mi chiedo se questo sito stia mentendo in quanto afferma che quel doctype causa problemi in IE8 –

2

Personalmente sceglierei XHTML 1.0 Strict o HTML 4.01 Strict.

A meno che non si stia letteralmente "spostando" dall'uso di versioni precedenti di HTML, non ha molto senso utilizzare il doctype di transizione.

XHTML 1.1 è anche un'opzione, tuttavia è necessario assicurarsi di servire il documento con un tipo di applicazione/xhtml + xml MIME.

HTML 5 è ancora molto nuovo ma potrebbe essere un'opzione se stai mettendo fuori qualcosa di all'avanguardia che ti aspetti di lavorare solo con i browser più aggiornati.

Gli schemi per Visual Studio sono solitamente tenuti in:

C: \ Programmi \ Microsoft Visual Studio 9.0 \ Common7 \ Packages \ schemas \ html

ho beleive è possibile aggiungerne di nuovi in qui se necessario. Pubblicherò ulteriori dettagli su questo come lo trovo.

+0

grazie, ho trovato il pacchetto di Visual Studio per html 5 qui http://blogs.msdn.com/b/webdevtools/archive/2009/11/18/html-5-intellisense-and-validation-schema-for -visual-studio-2008-and-visual-web-developer.aspx – GenEric35

2

Prima di tutto, probabilmente si vuole evitare il Doctype Transitional per nuovi contenuti. Transitional è inteso per il contenuto legacy che deve essere completamente modificato prima di confermare la rigida DTD, ma questo non è un problema per i nuovi documenti.

Inoltre, almeno nella mia esperienza XHTML genera più problemi che vantaggi. A meno che tu non richieda XHTML per alcune cose (come ad esempio consentire ai parser XML di leggere il tuo sito [ma anche in questo caso è probabile che non convalidi e quindi non sia adatto a questo]) Io raccomanderei di attenersi a HTML 4 Strict. Anche XHTML richiede un'attenzione particolare con IE, anche in IE 8.

3

Nota per chiunque altro leggendo questo thread alla ricerca di risposte: Ho appena scoperto che la dichiarazione per HTML 5 è semplicemente <!DOCTYPE HTML> niente di speciale lì, davvero.

Inoltre, per aggiungere la convalida HTML5 a Visual Studio 2008 ho trovato this article. Funziona abbastanza bene finora.

Altre cose da notare: Visual Studio aggiunge xmlns="http://www.w3.org/1999/xhtml" al tag <html> e probabilmente non lo si desidera/necessario lì se si utilizza HTML5.

Grazie ragazzi per avermi indicato nella giusta direzione.

1

Si dovrebbe utilizzare un doctype rigoroso. Che sia HTML 4.01 Strict o XHTML 1.0 Strict dipende da te. Ultimamente ho utilizzato personalmente quanto segue:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd"> 

Mi piace molto il modo in cui funziona RDFa. Si collega all'HTML in modo più pulito dei microformati definendo i propri attributi piuttosto che sovraccaricando gli attributi di classe e titolo. Ma poiché RDFa non è ancora molto consumabile come i microformati, sto usando entrambi gli uni accanto agli altri.

+0

quali sono i vantaggi di questo approccio? Potresti fornirci qualche esempio specifico? –

+0

Un sacco di esempi nel Primer RDFa. http://www.w3.org/TR/2008/WD-xhtml-rdfa-primer-20080317/ Ecco un esempio specifico che ho scritto personalmente per aver contrassegnato una nota di copyright. http://snipplr.com/view/9414/semantically-markup-a-copyright-notice/ – Scott