position三大属性的区别

html中position定位三大属性使用区别

首先我们要知道position三大属性分别是:static、relative、absolute

下面我们用一个简单的实例来更直观的体会他们各自的作用:
创建一个简单的html文件

<!DOCTYPE html>
<html>
<head>
	<title>html中position三大属性区别</title>
	<style type="text/css">
		.out{
			width:500px;
			height:500px;
			background-color:skyblue;
			}
	</style>
</head>
<body>
     <div class="out">
     	  <div class="in">
     	  	  <p>position</p>
     	  	  <h5>station</h5>
     	  </div>
     </div>
</body>
</html>

此时我们看到的页面效果是这样的:
图1
在这里插入图片描述
如果我们在把out的样式中加入position,结果如下:

       position: static;
			top:30px;
			left:30px;

图2
在这里插入图片描述

由图1和图2,可以得出static:position的默认方式

接着,我们再把in的css样式添加好:

.in{
			width:300px;
			height:300px;
			background-color: pink;
			top:30px;
			left:30px;
		}

测试结果:
图3
在这里插入图片描述
再把position属性设置为relative,测试结果:
图4
在这里插入图片描述
对比图3图4不难发现,背景颜色为pink的in盒位置较其原始位置发生了左移30px,下移30px变化。

由此,我们可以得出relative:相对于原始位置定位。

然后,把最里面的p和h5标签赋予css样式

 p{
			margin:0;
			background-color: red;
			top:30px;
			left:30px;
		}
 h5{
			margin:0;
			background-color: orange;
		}

测试结果:
图5
在这里插入图片描述
把背景颜色为红色的p标签css样式加入absolute属性:

position: absolute;

观察结果:
图6
在这里插入图片描述
这是我们可以看到p标签的内容和位置都发生了变化。当我们把背景颜色为粉色in的position属性设为默认(static),把背景颜色为蓝色的out的position设置为relative时,我们再次观察结果:
图7
在这里插入图片描述
我们可以发现背景颜色为红色的p标签较背景颜色为蓝色的out标签(p的爷爷)位置发生了定位改变。

由图5图6图7可知,absolute:相对于最近的定位属性(非static)祖先标签的内边距边界定位。

此外,如果我们将p的position属性也设置为relative,那么会怎样呢?
图8
在这里插入图片描述
对比图7图8可以清楚的看到,当p标签position为relative时,虽然已经发生了定位,但原始位置依然存在,absolute时原始位置则消失。

小结:

                综上所述,static时为默认属性,不发生定位。
                relative:相对原始位置定位且原始位置依然存在。
                absolute:相对于最近的定位祖先(非static)的内边距边界定位且原始位置消失,内容也会随之发生变化。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
position属性的不同取值有不同的定位方式和行为,下面是各个取值的区别: 1. static:默认值,元素按照正常的文档流布局。top、right、bottom、left和z-index属性对其没有影响,无法使用定位属性进行调整。 2. relative:相对定位,元素相对于其正常位置进行定位。可以通过设置top、right、bottom、left属性来调整元素的位置,但它的位置仍然占据原来的空间,对其他元素的布局没有影响。 3. absolute:绝对定位,元素相对于最近的具有定位属性(非static)的父元素或根元素进行定位。可以通过设置top、right、bottom、left属性来调整元素的位置,它的位置脱离了正常的文档流,不会占据原来的空间,对其他元素的布局有影响。 4. fixed:固定定位,元素相对于浏览器窗口进行定位。可以通过设置top、right、bottom、left属性来调整元素的位置,它的位置固定不动,不随页面滚动而改变。 5. sticky:粘性定位,在滚动过程相对于其最近的具有滚动机制的父元素或根元素进行定位。可以通过设置top、right、bottom、left属性来调整元素在滚动过程的位置。在元素未滚动到特定位置时,表现为相对定位,滚动到特定位置后表现为fixed定位。 总的来说,relative和absolute定位是相对于正常文档流进行定位的,fixed是相对于浏览器窗口进行定位,而sticky是一种特殊的相对定位,在滚动过程表现为fixed或relative定位。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值