我最近开始学习html,有一件让我困惑的事情是为什么有些链接在路径之前有一个正斜杠(“/”)而有些链接没有?
即
<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>
一条是相对路径而一条是绝对路径?以及href如何正常工作?它只是粘在基本网址后的路径名上吗?
答案 0 :(得分:43)
一条是相对路径而一条是绝对路径?
是
如果您的浏览器当前指向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文档的头部有base element,则相对路径将相对于基础。例如,无论页面位于何处,此处的链接都会将您带到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>