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