整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

8.Html 绝对与相对路径

计算机科学中,路径是指向文件系统中某个位置的字符串。路径可以是绝对的也可以是相对的。这篇文章将详细解释绝对路径和相对路径的区别,并通过例子来展示它们的使用。

绝对路径(Absolute Paths)

绝对路径是从文件系统的根目录(在Windows系统中是驱动器的根,如C:\,在UNIX系统中是/)开始的完整路径。它包含了从根目录到目标文件或文件夹的所有目录名,并以文件或文件夹名结束。

特点

  • 不依赖于当前工作目录。
  • 通常较长,因为它们包含了完整的路径信息。
  • 在任何时候都指向同一个文件或文件夹,不会因为当前位置的变化而改变。

使用实例

假设我们有一个位于Windows系统D盘的图片文件,其路径可能是:

D:\Photos\Holiday\beach.jpg

在UNIX系统中,如果有一个配置文件位于根目录下的etc文件夹中,其路径可能是:

/etc/nginx/nginx.conf

无论当前位置在哪里,上述路径都准确指向了特定的文件。

相对路径(Relative Paths)

相对路径是相对于当前工作目录的路径。它不是从根目录开始,而是从当前目录开始描述如何到达目标文件或文件夹。

特点

  • 依赖于当前工作目录。
  • 通常较短,因为它们仅包含从当前目录到目标位置的路径信息。
  • 可能会因为当前位置的变化而代表不同的文件或文件夹。

使用实例

假设当前工作目录是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文件、图片或其他网页通常需要使用路径。使用绝对路径或相对路径取决于资源的位置和你的特定需求。

HTML中的例子

假设网站的根目录结构如下:

/ (根目录)
|-- 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>

绝对定位和相对定位的区别

  1. 相对定位的参照物是参照物本身。
    绝对定位的参照物就是父级元素,当父级元素中不存在相对定位,那么它的参照物就是body
  2. 相对定位,设置后,原来的位置始终保留着
    绝对定位,设置后,原来的位置会被后面的内容占据

原文链接:https://link.zhihu.com/?target=https%3A//blog.csdn.net/hanhanwanghaha/article/details/108961741

作者:我一个超级无敌可爱的人鸭

出处:CSDN