2012-05-18 24 views
18

Zacząłem ostatnio uczyć się html, a jedną z rzeczy, które naprawdę mnie zdezorientowały, to dlaczego niektóre linki mają przedrostek ("/") przed ścieżką i niektóre linki nie " t?Począwszy od ukośnika w html dla "href"

tj.

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

Jest jedną ścieżką względną i jedna ścieżka bezwzględna? i jak dokładnie działa href? czy po prostu trzyma się nazwy ścieżki po bazowym adresie URL?

+2

Mark jest poprawna, ale myślałem, że chciałbym napisać trochę informacji o tym, jak można znaleźć się odpowiedzi na te pytania, jeśli naprawdę jak patrząc na dokumentacji. http://dev.w3.org/html5/spec/spec.html >> kliknij element >> kliknij atrybut href >> kliknij poprawny adres URL. To wyjaśnia adresy URL w atrybucie href elementu "a". Zawiera również linki do standardu URL, jeśli jesteś naprawdę ciekawy http://tools.ietf.org/html/rfc3986. RFC i standard HTML 5 mogą rozwiązać wiele pytań. Są również bardziej dokładne niż blogi internetowe itp., Ale zdecydowanie nie są tak łatwe do odczytania. –

Odpowiedz

34

Czy jest to ścieżka względna i ścieżka absolutna?

Tak.

Jeśli Twoja przeglądarka jest obecnie wskazując na http://foo/bar/baz.html następnie:

  • <a href="reset/index.html"> będzie link do http://foo/bar/reset/index.html.
  • <a href="/reset/index.html"> będzie prowadzić do http://foo/reset/index.html.

jeśli istnieje base element w nagłówku dokumentu HTML wtedy względna ścieżka będzie w stosunku do podstawy. Na przykład link tutaj przeniesie Cię do http://example.com/foobar/reset/index.html niezależnie od tego, gdzie znajduje się strona.

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

Dodanie przykładu 'base' byłoby pomocne. – Marwelln

+0

@Marwelln: Dodano, dziękuję za sugestię. –

+0

jeśli nie określono podstawy, jaka jest domyślna baza? – anc1revv

Powiązane problemy