2012-05-18 21 views
18

Empecé a aprender html recientemente, y una cosa que realmente me confundió es por qué algunos enlaces tienen una barra diagonal ("/") antes de la ruta y algunos enlaces no t?Comenzando con una barra inclinada en html para "href"

es decir.

<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> 

Es uno una ruta relativa y uno una ruta absoluta? y ¿cómo funciona href exactamente? ¿Simplemente se pega en el nombre de ruta después de la url base?

+2

Mark es correcto, pero pensé que podría publicar un poco de información sobre cómo puede encontrar estas respuestas usted mismo si realmente desea ver la documentación. http://dev.w3.org/html5/spec/spec.html >> haga clic en un elemento >> haga clic en atributo href >> haga clic en URL válida. Eso explica las URL en el atributo href de un elemento 'a'. También tiene enlaces al estándar de URL si realmente tiene curiosidad http://tools.ietf.org/html/rfc3986. RFCs y el estándar HTML 5 pueden resolver muchas preguntas. También tienden a ser más precisos que los blogs en línea, etc., pero definitivamente no son tan fáciles de leer. –

Respuesta

34

¿Uno es un camino relativo y uno un camino absoluto?

Sí.

Si su navegador está actualmente apuntando a http://foo/bar/baz.html a continuación:

  • <a href="reset/index.html"> uniría a http://foo/bar/reset/index.html.
  • <a href="/reset/index.html"> podría vincular a http://foo/reset/index.html.

Si hay una base element en el encabezado del documento HTML, entonces la ruta relativa será relativa a la base. Por ejemplo, el enlace aquí lo llevará al http://example.com/foobar/reset/index.html independientemente de dónde se encuentre la página.

<!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

Agregar un ejemplo 'base' sería útil. – Marwelln

+0

@Marwelln: Agregado, gracias por la sugerencia. –

+0

si no se especifica una base, ¿cuál es la base predeterminada? – anc1revv

Cuestiones relacionadas