就HTML文件路径位置而言,“ ./”(点斜杠)指的是什么?


228

我知道../意味着走上一条道路,但是到底./是什么意思呢?

我最近正在看一个教程,它似乎只是在指相同位置的文件,所以有必要吗?如果仅此而已,我可以不使用它吗?

Answers:


136

./工作文件所在的文件夹:

因此,in /index.htm ./是根目录,
而in /css/style.css ./是css文件夹。

记住这一点很重要,因为如果将CSS从/index.htm移到/css/style.css路径,则会改变。


45
这如何回答这个问题?显然,Simon Suh理解./指向引用文件所在的相同位置。问题的主要部分是:“为什么要使用它,根本没有必要吗?”。我能够找到“ ./file”而不是“ file”的语法的唯一原因是./表示当前文件夹,而仅是当前文件夹。因此,如果有某种工具/编译器/ etc搜索该文件,则“ ./file”将仅在当前文件夹中搜索,而“ file”将在该工具配置为搜索的任何位置(例如,根目录,当前文件夹)进行搜索等等)
Marcel Toth

12
那么./abc.htm和just有什么区别abc.htm
Teemoh

12
@Teemoh在JS,HTML和CSS中它们是相同的。“ ./”是一种旧的编程约定,已延续到这些较新的语言中。在其他情况下,它们可能表示不同的意思。例如。如果在操作系统中设置了“路径”,则abc.exe可能是文件,而./abc.exe可能不是。
库米

@MarcelToth您真的应该把这个发布为答案!
亚当

285

/ 表示当前驱动器的根目录;

./ 表示当前目录;

../ 表示当前目录的父目录。


是否在“ header(“ Location:../”);“ 重定向到父目录?
贝尔福德

3
./index.html与index.html有何不同?
N-ate

1
我从模板中获得了一段代码,它包含././什么意思?
亚伦·弗兰克

120

您可以使用以下列表作为快速参考:

   /   = Root directory
   .   = This location
   ..  = Up a directory
   ./  = Current directory
   ../ = Parent of current directory
   ../../ = Two directories backwards

有用的文章:https : //css-tricks.com/quick-reminder-about-file-paths/


13
“此位置”和“当前目录”之间有什么区别?谢谢。
WebBrother

2
@WebBrother,事实证明./仅在非严格doctype模式下起作用,而。工作在两种模式,这里是一个链接stackoverflow.com/questions/296873/...
马卡罗夫谢尔盖

谢谢。这种清晰的解释只是解决了一个问题,所以我很尴尬地大声问。
Leaky Eddie

57
.  = This location
.. = Up a directory

所以,./foo.html就是foo.html。并且它是可选的,但如果脚本生成了路径,则可能具有相关性(与脚本相关,而不是引用的工作原理)。


38

是的,./表示当前的工作目录。您可以直接按名称直接引用文件,而不使用它。


11

您可以忽略它是正确的。它仅对清楚有用。它在那里和不在那里没有功能上的区别。


16
It's useful only for clarity.或混淆(以OP的情况为准)-我的。:)
ANeves 2011年

在html5中导入javascript文件时,您不能忽略它。例如,如果您在一个目录中有一个文件夹js和一个index.html文件:html 5中声明的<script src =“ ./ js / main.js”> </ script>是正确的,但是如果您省略了'。 ' 表示法,它不会加载文件。
MaXi32

4
@ MaXi32-在您的示例中,<script src="js/main.js"></script>将以HTML5以及./js/main.js
pmrotule '16

9

关于路径的简短概述

绝对路径

http://website.com/assets/image.jpg
如果图片不在您的域中 -请去那里查找图片


//website.com/assets/image.jpg
使用http或https协议加载的图像


相对路径

(如果映像位于同一服务器上,供内部使用


image.jpg
图像与调用图像的文档位于同一位置!


./image.jpg
与上面相同, 图像与调用图像的文档位于同一位置!


/assets/image.jpg
与“绝对路径”相似,只是省略了协议和域名,请
从根文件夹开始搜索我的图片/,而不是assets/


assets/image.jpg
这次资产与文档位于同一位置,因此进入图像资产


../assets/image.jpg
从文档所在的位置返回一个文件夹并进入 ../assets


../../image.jpg
2个,还有我的形象!


../../assets/image.jpg
2个 ../../ ,比进入 assets


有没有一种方法可以说“转到最终根目录然后遵循此路径”而不使用域名(即,如果您需要站点在临时环境中工作)?还是只需要执行../../../../../../../../../../../../../ ..之类的操作/../../../../../../../../../../../../../../../../。 ./../../images/image.jpg并希望涵盖所有可能的情况?
Mark Chapel

1
@Mark如果我的问题正确,您需要“(无限次)回到根,然后输入images。请参阅相对路径和第三个示例/images/image. jpg
Roko C. Buljan

2

是的,./表示您当前所在的目录。


8
这有点误导。 ./thisfile.txt并不总是等同于/thisfile.txt。它完全依赖于哪个目录代码在执行。
乔恩Newmuis

@JonathanNewmuis是正确的。/thisfile.txt没有明确显示/thisfile.txt
Coomie 2011年

因此,如果代码在其他位置执行,./将引用原始位置吗?
CodyBugstein 2015年

2

例如,css文件位于文件夹中CSS,html文件位于文件夹中HTML,而这两个文件均位于文件夹中,这XYZ意味着我们将html中的css文件称为

<link rel="stylesheet" type="text/css" href="./../CSS/style.css" />

在这里..向上移动HTML
.引用当前目录XYZ

---根据此逻辑,您将仅引用为:

<link rel="stylesheet" type="text/css" href="CSS/style.css" />

3
第二个参考"CSS/style.css"对我不起作用,也许是您的意思"../CSS/style.css"
ajax333221

-1

具体参考快速参考列表,您可以使用以下内容:

\。\根目录+当前目录(驱动器号)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.