2012-05-18 12 views
18

Ho iniziato a studiare html di recente, e una cosa che mi ha davvero confuso è perché alcuni link hanno una barra ("/") prima del percorso e alcuni link don " t?Iniziare con una barra in html per "href"

ie.

<link href="/favicon.png" rel="icon"> 
<link href="/stylesheets/screen.css" media="screen, projection" rel="stylesheet" type="text/css"> 

vs.

<dt><a href="reset/index.html">Reset CSS</a></dt> 

È uno un percorso relativo e uno un percorso assoluto? e come funziona esattamente il lavoro di href? si incolla solo sul nome del percorso dopo l'url di base?

+2

Mark è corretto, ma ho pensato di postare alcune informazioni su come trovare queste risposte da soli se ti piace davvero guardare la documentazione. http://dev.w3.org/html5/spec/spec.html >> fare clic su un elemento >> fare clic su attributo href >> fare clic su URL valido. Questo spiega gli URL nell'attributo href di un elemento 'a'. Ha anche collegamenti allo standard URL se sei veramente curioso su http://tools.ietf.org/html/rfc3986. Le RFC e lo standard HTML 5 possono risolvere un sacco di domande. Inoltre, tendono ad essere più precisi dei blog online, ecc., Ma sicuramente non sono così facili da leggere. –

risposta

34

È un percorso relativo e uno un percorso assoluto?

Sì.

Se il browser sta puntando a http://foo/bar/baz.html poi:

  • <a href="reset/index.html"> volesse link a http://foo/bar/reset/index.html.
  • <a href="/reset/index.html"> si collegherebbe a http://foo/reset/index.html.

Se c'è un base element nella testa del documento HTML, allora il percorso relativo sarà relativo alla base. Ad esempio il link qui ti porterà a http://example.com/foobar/reset/index.html indipendentemente da dove si trova la pagina.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<HTML> 
<HEAD> 
    <TITLE>Base element example</TITLE> 
    <BASE href="http://example.com/foobar/"> 
</HEAD> 

<BODY> 
    <P><a href="reset/index.html">Reset CSS</a> 
</BODY> 
</HTML> 
+2

Aggiungere un esempio 'base' sarebbe utile. – Marwelln

+0

@ Marwelln: Aggiunto, grazie per il suggerimento. –

+0

se non è stata specificata una base, qual è la base predefinita? – anc1revv