Skip to content

文件路径写法

本页关键词:相对路径、绝对路径、根目录、协议相对 URL、../、./


一、操作系统路径差异

根目录表示

Linux/Mac

bash
/           # 根目录
/home/user  # 绝对路径
./file.txt  # 当前目录
../file.txt # 上级目录

Windows

cmd
C:\         # C 盘根目录
.\file.txt  # 当前目录
..\file.txt # 上级目录

关键差异对比

特性Linux/MacWindows
目录分隔符/\(也支持 /
根目录/C:\D:\
当前/上级目录...相同

二、HTML 中的路径写法

相对路径

project/
├── index.html
├── css/style.css
├── js/main.js
└── images/
    ├── logo.png
    └── bg.jpg

./ - 当前目录(通常可省略)

html
<img src="./logo.png">
<img src="logo.png">
<link rel="stylesheet" href="css/style.css">

../ - 上级目录

html
<!-- 从 pages/about.html 访问上级 images -->
<img src="../images/logo.png">
<img src="../../parent-folder/image.png">

绝对路径

从网站根目录开始

html
<img src="/images/logo.png">
<link href="/css/style.css">

完整 URL

html
<img src="https://example.com/images/logo.png">

协议相对 URL(//

html
<img src="//cdn.example.com/images/logo.png">

根据当前页面协议自动选择 http/https,常用于 CDN。


三、路径类型对比表

写法类型含义
file.txt相对当前目录
./file.txt相对当前目录(显式)
folder/file.txt相对子文件夹内
../file.txt相对上级目录
/images/logo.png绝对网站根目录
//cdn.com/file协议相对协议自适应
https://...完整 URL完整网络地址

四、实际应用场景

开发环境目录结构

my-project/
├── index.html
├── css/main.css
├── images/logo.png
└── assets/fonts/font.ttf

index.html

html
<link rel="stylesheet" href="css/main.css">
<script src="js/app.js"></script>
<img src="images/logo.png" alt="Logo">

css/main.css

css
body {
  background-image: url("../images/bg.jpg");
}
@font-face {
  src: url('../assets/fonts/font.ttf');
}

面试要点:CSS 中的 url() 路径相对于 CSS 文件所在位置,而非 HTML 文件。


五、常见错误

混淆操作系统路径和 Web 路径

html
<!-- 错误 -->
<img src="C:\website\images\logo.png">

<!-- 正确 -->
<img src="/images/logo.png">
<img src="../images/logo.png">

路径大小写

Linux 服务器大小写敏感,Images/Logo.pngimages/logo.png 不同。

忘记上级目录

html
<!-- 文件位置:products/phone.html -->
<link rel="stylesheet" href="css/style.css">  <!-- 错误:会去 products/css/ 找 -->
<link rel="stylesheet" href="../css/style.css">  <!-- 正确 -->

六、最佳实践

场景建议
开发阶段相对路径,便于本地测试
生产环境根绝对路径或 CDN
多级目录使用 ../ 逐级向上

记忆口诀:同级用 ./ 或省略;子级用 文件夹/;上级用 ../;根目录用 /;网络资源用 //https://