计算机科学中,路径是指向文件系统中某个位置的字符串。路径可以是绝对的也可以是相对的。这篇文章将详细解释绝对路径和相对路径的区别,并通过例子来展示它们的使用。
绝对路径是从文件系统的根目录(在Windows系统中是驱动器的根,如C:\,在UNIX系统中是/)开始的完整路径。它包含了从根目录到目标文件或文件夹的所有目录名,并以文件或文件夹名结束。
假设我们有一个位于Windows系统D盘的图片文件,其路径可能是:
D:\Photos\Holiday\beach.jpg
在UNIX系统中,如果有一个配置文件位于根目录下的etc文件夹中,其路径可能是:
/etc/nginx/nginx.conf
无论当前位置在哪里,上述路径都准确指向了特定的文件。
相对路径是相对于当前工作目录的路径。它不是从根目录开始,而是从当前目录开始描述如何到达目标文件或文件夹。
假设当前工作目录是D:\Photos,要引用Holiday文件夹中的beach.jpg图片,相对路径将是:
Holiday\beach.jpg
如果需要引用同一级别目录下的另一个文件夹中的文件,例如当前工作目录是D:\Photos\Holiday,要引用Work文件夹中的report.docx文件,相对路径将使用..来表示上一级目录:
..\Work\report.docx
在UNIX系统中,如果当前工作目录是/etc/nginx,要引用同一级别的apache2目录下的apache2.conf文件,相对路径将是:
../apache2/apache2.conf
在相对路径中,有两个特殊符号经常使用:
使用这些符号,可以在文件系统中向上或向下导航。
在创建网页时,链接到CSS文件、JavaScript文件、图片或其他网页通常需要使用路径。使用绝对路径或相对路径取决于资源的位置和你的特定需求。
假设网站的根目录结构如下:
/ (根目录)
|-- index.html
|-- about.html
|-- css
| |-- styles.css
|-- images
| |-- logo.png
|-- js
|-- scripts.js
如果在index.html中引用styles.css,相对路径将是:
<link rel="stylesheet" type="text/css" href="css/styles.css">
如果在index.html中引用logo.png,相对路径将是:
<img src="images/logo.png" alt="Logo">
如果网站的URL是http://www.example.com,那么引用logo.png的绝对路径将是:
<img src="http://www.example.com/images/logo.png" alt="Logo">
绝对路径和相对路径都是定位文件系统中文件和文件夹的有效方式。绝对路径提供了明确的位置,不依赖于当前工作目录,而相对路径则更加灵活,可以简化文件的链接,尤其是在网页设计和软件开发中。理解这两种路径的差异和应用场景,对于任何与文件系统交互的活动都是至关重要的。
相对路径: 相对路径,意思就是说相对于我来说,这个我就是指的当前的文件,你在 test.html 里写代码,那么test.html就是当前文件
绝对路径:就是写死的路径,也就是文件所在的确切路径。
举例说明:
二、相对路径与绝对路径的写法
position:fixed;
用我自己的话来说,就是让你想要固定的东西固定。例如:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
body{
height: 2000px;
}
.photo{
width: 600px;
height: 600px;
position: fixed;
left: calc(50%-300px);
top: calc(50%-300px);
}
</style>
</head>
<body>
10月7日,昆凌在社交平台晒出自己荡秋千的美照。
照片中,昆凌长发披肩,头戴假日风草帽,
穿一袭白裙在海边荡着秋千,回眸甜笑,宛若仙子。
<div id="box1">
<img src="img/kunling.jpg" class="photo">
</div>
</body>
</html>
对了,在这里说一下,我目前是在职web前端开发,如果你现在正在学习前端,了解前端,渴望成为一名合格的web前端开发工程师,在入门学习前端的过程当中有遇见任何关于学习方法,学习路线,学习效率等方面的问题,都可以随时关注并私信我:前端,我都会根据大家的问题给出针对性的建议,缺乏基础入门的视频教程也可以直接来找我,我这边有最新的web前端基础精讲视频教程, 还有我做web前端技术这段时间整理的一些学习手册,面试题,开发工具,PDF文档书籍教程,都可以直接分享给大家。
当我下拉时,图片的位置是不会动的。即使下滑到了最底部,图片的位置也是固定的。对比下面这张图:
子绝父相就是指子元素设置绝对定位,而父元素设置相对定位。换句话说:如果要对一个子元素使用定位的话,让子元素(绝对定位)以其父元素(相对定位)为标准来定位。
实操代码理解
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
#father{
width: 300px;
height: 300px;
background-color: coral;
position: relative;
border: solid 3px red;
}
#son1{
width: 100px;
height: 100px;
background-color: aqua;
position: absolute;
left: 20px;
top: 50px;
}
#son2{
width: 100px;
height: 100px;
background-color: chartreuse;
position: absolute;
left: 40px;
top: 90px;
}
</style>
</head>
<body>
<div id="father">
I am father
</div>
<div id="son1">
I am son1
</div>
<div id="son2">
I am son2
</div>
</body>
</html>
看图:在father这个容器设置了相对定位之后,son1和son2都设置了绝对定位,我们的子类这时其实不是在body中绝对定位(absolute),而是在其父类的范围中绝对定位(absolute)。
position: absolute;
查找定位的参照物方法:
从当前元素开始往上找,直到找到一个具有定位属性的元素为准,以这个元素为参照进行定位。
如果没有一个元素有定位属性,最终就参照body进行定位。(我一直理解的就是绝对定位就是你想定哪里定哪里)
定位的时候:结合top left right bottom 这四个方向属性进行配合定位。但是要注意:不能同时选择left喝right
注意:这里要区别于相对定位,在使用相对定位时,无论是否进行移动,原来的位置就没有了。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
#box1{
background-color: salmon;
width: 100px;
height: 100px;
position: absolute;
left: 100px;
top: 50px;
}
</style>
</head>
<body>
<div id="box1">
我是box1,我采用了绝对定位
</div>
</body>
</html>
position: relative;
相对定位是相对于元素在文档中的初始位置——首先它出现在它所在的位置上(即不设置position时的位置,然后通过设置垂直或水平位置,让这个元素“相对于”它的原始起点进行移动;
注意,在使用相对定位时,无论是否进行移动,原来的位置始终保留着。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
#box1{
width: 100px;
height: 100px;
background-color: brown;
position: relative;
left: 300px;
top: 300px;
}
#box2{
width: 100px;
height: 100px;
background-color: blue;
}
</style>
</head>
<body>
<div id="box1">
</div>
<div id="box2">
</div>
</body>
</html>
原文链接:https://link.zhihu.com/?target=https%3A//blog.csdn.net/hanhanwanghaha/article/details/108961741
作者:我一个超级无敌可爱的人鸭
出处:CSDN
*请认真填写需求信息,我们会在24小时内与您取得联系。