h1 e l’intervallo

Mentre utilizzo i tag h1-h6 nel mio html, continuo a ricevere messaggi di errore sul validatore w3c. Sono nuovo di questo e ho provato tante volte a risolvere il problema, ma non posso.

Il testo sembra perfettamente a posto sul mio sito ma non verrà convalidato. Come risolvo questo problema? Il messaggio di errore è il seguente;

Riga 34, Colonna 4: il tipo di documento non consente qui l’elemento “h1”; manca uno di “object”, “applet”, “map”, “iframe”, “button”, “ins”, “del” start-tag

My website

<—- questo è il codice per il quale sto ottenendo l'errore.

L’elemento menzionato non può apparire nel contesto in cui l’hai inserito; gli altri elementi menzionati sono gli unici che sono entrambi consentiti e possono contenere l’elemento menzionato. Questo potrebbe significare che hai bisogno di un elemento contenente, o forse di aver dimenticato di chiudere un elemento precedente.

Una ansible causa di questo messaggio è che si è tentato di inserire un elemento a livello di blocco (come ”

“o” “) all’interno di un elemento in linea (come” “,” “o” “).

In ogni caso qual è il modo migliore per usare i tag di intestazione? Che cosa sto facendo di sbagliato?

  • Una span è un elemento in linea
  • Un h1 è un elemento di blocco
  • Un elemento in linea non può contenere un elemento di blocco
  • Gli elementi non possono essere parzialmente contenuti da altri elementi

Pertanto, dal punto di vista della DTD:

 

Qual è la soluzione giusta per il problema in realtà dipende piuttosto da cosa stai cercando di usare lo span per.

(Si noti che la discussione sugli elementi in blocco e in linea sopra è in qualche modo semplificata. Vedi Come leggere la DTD HTML per l’intera storia, in particolare la sezione sul modello di contenuto)

Stai chiudendo i tuoi tag nell’ordine sbagliato:

 

My website

dovrebbe essere

 

My website

 

Bold text goes here

normal text goes here

usa il sopra se stai guardando i tag H1 in linea

non puoi sputare un elemento con un altro elemento

 < H1>< span> My website < /h1>< /span> 

dovrebbe essere questo

 < H1>< span> My website < /span>< /h1> 

hai provato a scrivere questo?

 

My website

dovresti chiudere i tag nello stesso ordine in cui li apri.

I tuoi elementi non si annidano correttamente.

Pensa a loro come tipi diversi di parentesi.

Se

è come {} e è come [] , allora hai

  { [ My website } ] 

Come puoi vedere, le parentesi sono spente.

Tu vuoi

  

My website