最近在项目中遇到了一个小问题,纠结了半天。
路径中使用斜杠/和反斜杠\的区别到底是什么。查阅了一些资料后可知。
Unix使用斜杆/ 作为路径分隔符,而web应用最新使用在Unix系统上面,所以目前所有的网络地址都采用 斜杆/ 作为分隔符。
Windows由于使用 斜杆/ 作为DOS命令提示符的参数标志了,为了不混淆,所以采用 反斜杠\ 作为路径分隔符。所以目前windows系统上的文件浏览器都是用 反斜杠\ 作为路径分隔符。随着发展,DOS系统已经被淘汰了,命令提示符也用的很少,斜杆和反斜杠在大多数情况下可以互换,没有影响。
知道这个背景后,可以总结一下结论:
(1)浏览器地址栏网址使用 斜杆/ ;
(2)windows文件浏览器上使用 反斜杠\ ;
(3)出现在html url() 属性中的路径,指定的路径是网络路径,所以必须用 斜杆/ ;
复制代码 代码如下:
<div style="background-image:url(/Image/Control/title.jpg);
background-repeat:repeat-x; padding:10px 10px 10px 10px"></div>
// 如果url后面用反斜杠,就不会显示任何背景
(4)出现在普通字符串中的路径,如果代表的是windows文件路径,则使用 斜杆/ 和 反斜杠\ 是一样的;如果代表的是网络文件路径,则必须使用 斜杆/ ;
复制代码 代码如下:
<img src=".\Image/Control/ding.jpg" />
// 本地文件路径,/ 和 \ 是等效的
<img src="./Image\Control\cai.jpg" />
<img src=https://yunqi-tech.oss-cn-hangzhou.aliyuncs.com/0.jpg />
// 网络文件路径,一定要使用 斜杆/
斜杆/ 和 反斜杠\ 的区别基本上就是这些了,下面再讨论一下相对路径和绝对路径。
复制代码 代码如下:
./SRC/ 这样写表示,当前目录中的SRC文件夹;
../SRC/ 这样写表示,当前目录的上一层目录中SRC文件夹;
/SRC/ 这样写表示,项目根目录(可以只磁盘根目录,也可以指项目根目录,具体根据实际情况而定)