2012-05-29 12 views
5

La HTML5 riferimento states:La restrizione carattere spazio per rendere</head> opzionale

tag di chiusura di un elemento di testa può essere omesso se l'elemento testa non è immediatamente seguito da uno spazio o commenti.

Che cosa significa questa restrizione "spazio carattere"? Posso solo pensare che qualcosa di simile

<title>My Page</title><p>Some stuff.</p> 

è valida, mentre

<title>My Page</title> 
<p>Some stuff.</p> 

non è, come gli impliciti </head><body> tag non avrebbero circondato un ritorno a capo. Ma sento di non essere nel segno. Un esempio chiarificatore sarà molto apprezzato.

Grazie a tutti!

+0

avevo vagamente indovinare l'intento, in combinazione con la seguente regola è "se' 'e' 'sono entrambi omessi, non è chiaro a quali spazi laterali e commenti tra loro vanno, quindi lo vietiamo completamente. " –

+0

@UlrichSchwarz - Non proprio. Non vieta il costrutto, spiega solo che non è possibile utilizzare l'end-of-head implicito nel mezzo del markup consentito all'interno o all'esterno dell'elemento head. – Quentin

risposta

4

Significa solo che poiché i commenti e i caratteri dello spazio possono apparire all'interno dell'elemento head, non terminano implicitamente l'elemento head.

Quindi, se si desidera che vuole il commento (per esempio) dopo l'elemento testa è chiusa e non poco prima è chiuso, quindi è necessario utilizzare un esplicito </head>

cioè

</title> <!-- foo --> <body> 

lo stesso significato

</title> <!-- foo --> </head><body> 

e non c'è modo per rappresentare

</title></head> <!-- foo --> <body> 

senza utilizzare un esplicito </head>

+0

Si noti inoltre che la specifica consente di omettere completamente; infatti, un documento che consiste solo di '' è ancora completamente valido. – user2428118

+0

Grazie per la risposta. Sono abbastanza sicuro che questo fosse il significato, ma non posso sfuggire al sentimento che, supponendo che tu voglia omettere del tutto le etichette HEAD e BODY, l'unico modo per farlo mantenendo le condizioni verbali è di stare insieme (niente spazi, newlines, tabs) l'ultimo elemento figlio di HEAD e il primo elemento figlio di BODY, come nel mio esempio. –

1

La documentazione si riferisce all'altra estremità dell'elemento (dove normalmente va </head>).

Ad esempio:

<head> 
    <title>Hello World</title> 
<body> 
... 

va bene, ma questo a quanto pare non è:

<head> 
    <title>Hello World</title> 
    <body> 

Né è questa:

<head> 
    <title>Hello World</title> 
<!-- This is a comment --> 

Tuttavia (e questo è un grande però) , non dovresti mai farlo. Porta a un codice confuso, potrebbe essere supportato in modo insufficiente da alcuni browser e potrebbe non essere valido nella futura versione di HTML. Mantienilo pulito e stabile usando un buon markup leggibile.

+1

Entrambi sono OK.È solo che gli spazi e il commento sono trattati come se fossero nella testa, non dopo. – Quentin

+0

La sintassi è supportata molto bene dai browser e ha un tale retaggio che sembra molto improbabile che venga mai invalidata in futuro (XHTML era un tentativo e fallito). – Quentin

Problemi correlati