38

私は最近 html を学び始めましたが、本当に困惑したことの 1 つは、パスの前にスラッシュ ("/") があるリンクとないリンクがあるのはなぜですか?

すなわち。

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

対。

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

1 つは相対パスで、もう 1 つは絶対パスですか? また、href は正確にどのように機能しますか? ベースURLの後のパス名に固執するだけですか?

4

1 に答える 1

60

1 つは相対パスで、もう 1 つは絶対パスですか?

はい。

ブラウザが現在指しているhttp://foo/bar/baz.html場合:

  • <a href="reset/index.html">にリンクしhttp://foo/bar/reset/index.htmlます。
  • <a href="/reset/index.html">にリンクしhttp://foo/reset/index.htmlます。

HTML ドキュメントの head にbase 要素がある場合、相対パスは base からの相対パスになります。たとえば、ここのリンクhttp://example.com/foobar/reset/index.htmlは、ページがどこにあるかに関係なく移動します。

<!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>
于 2012-05-18T20:46:38.253 に答える