2011-11-17 10 views
69

Mi capita sempre di imbattermi in questa (piuttosto semplice domanda) quando effettui ad es. Blog Wordpress Devo avvolgere il titolo, che dovrebbe essere anche un collegamento, in un elemento di ancoraggio <a> o dovrebbe essere il contrario. E perché?Ancore all'interno delle intestazioni o viceversa?

(1):

<a href="foo"> 
    <h1>bar</h1> 
</a> 

(2):

<h1> 
    <a href="foo">bar</a> 
</h1> 

finisco sempre per fare (1), come sembra solo più logico per me, che il titolo è avvolto in un link.

Fa alcuna differenza, ad es. SEO? Esiste una buona pratica?

+2

[Questa domanda su Pro Webmasters] (http://webmasters.stackexchange.com/questions/20446/anchor-tag-inside-h1-or-h1-inside-achor-tag-which-is-better) è quello che stai cercando –

+0

Grazie, mi sembra :) –

risposta

66

Prima di HTML5:
L'ancoraggio deve essere dentro l'intestazione, non si può mettere un elemento a livello di blocco all'interno di un ancoraggio, e la maggior parte dei browser non renda al 100% in modo affidabile se lo fai.

in HTML5:
Non importa, l'uso a seconda di quale uno fa la maggior parte semantica senso. Probabilmente il primo.

Ricordare che se il documento utilizza DTD HTML4, non verrà convalidato e potrebbe non essere visualizzato correttamente poiché utilizza le vecchie regole in cui un ancoraggio non può contenere un elemento a livello di blocco. Utilizza solo la prima opzione in HTML5. XHTML è equivalente a HTML4, non sono sicuro al 100% di XHTML1.1 (provalo e verifica se convalida).

7

Se si utilizza un DTD HTML 4.01 (Non sono sicuro del transitorio, ma sicuramente del rigore), l'elemento di ancoraggio deve apparire all'interno dell'elemento di intestazione. Controlla il tuo doctype se non sai quale DTD stai usando (supponendo che ne hai uno, che hai bisogno che il codice OYUR sia considerato valido). Il doctype HTML5 si presenta così:

<!DOCTYPE HTML> 

Il 4.01 doctype è:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 

Vorrei anche suggerire te stesso familiarizzare con la DTD se stessa se si sta andando a lavorare con 4.01, esso risponderà tutti questi tipi di domande.

Problemi correlati