CSS之position

5 篇文章 0 订阅

         之前已经讲了盒子模型,以及行元素块元素等概念,现在对于布局来说差的就是定位,所以本文将介绍position的一些属性特点,从而在为布局的时候能够提供帮助。


1.relative

        relative是以网页的左上角为原点,然后以定义的top、left、right、bottom来确定两个维度上的正方向,所以下面通过例子来讲解:

<html>
 <head>
  <title>HTML示例</title>
  <style type="text/css">
	div {
		width: 200px;
		height:150px;
		position:relative;
		top:100px;
		left:50px;
		background-color:red;
	}

	
  </style>
 </head>
 <body>

<div></div>

 </body>
</html>

查看效果:


接下来将位置属性改一下:

<html>
 <head>
  <title>HTML示例</title>
  <style type="text/css">
	div {
		width: 200px;
		height:150px;
		position:relative;
		bottom:100px;
		right:50px;
		background-color:red;
	}

	
  </style>
 </head>
 <body background-color="gray">

<div></div>

 </body>
</html>

得到效果图:


        根据以上的规律可以知道,以左上角为原点,top表示从上往下为正轴,bottom表示从下往上是正轴,right表示从右往左是正轴,left表示从左往右是正轴。

2.absolute

        absolute与relative最大的区别就是原点会发生改变,而top、bottom、left和right的正轴方向都是在网页可视范围内的,比如top是从网页上端往下、bottom是从网页下端往上、left是从网页左端往右、right是从网页右端往左。因此如果使用right和bottom那么右下角就是原点,其它同理。以下用实例说明:

<html>
 <head>
  <title>HTML示例</title>
  <style type="text/css">
	div {
		width: 200px;
		height:150px;
		position:absolute;
		bottom:100px;
		right:50px;
		background-color:red;
	}

	
  </style>
 </head>
 <body>

<div></div>

 </body>
</html>

效果图如下:


        这里使用了bottom和right,所以是以左下角为原点的,往上和往左是正轴方向。但是absolute有个特点就是如果有下拉滚动条的,一旦拖动下拉滚动条,块也会进行滚动,它的绝对体现在相对于初始那个点它是绝对的,一旦拖动滚动条,那个点发生了改变,那么块也随之改变。

3.fixed

        fixed是固定的意思,对于四个方向的坐标以及正负轴来说,与absolute是一样的,区别在于它位置是固定的,甚至下拉滚动条也不能改变它的位置。以下通过示例来区分fixed和absolute的区别。

<!DOCTYPE html>
<html>
 <head>
  <title>HTML示例</title>
  <style type="text/css">
  body{
	height:3000px;
  }
	div {
		width: 200px;
		height:150px;
		position:fixed;
		bottom:100px;
		right:50px;
		background-color:red;
	}
	.div{
	
		width: 100px;
		height:50px;
		position:absolute;
		bottom:50px;
		right:50px;
		background-color:green;
	
	}

	
  </style>
 </head>
 <body>

<div></div>
<div class="div"></div>

 </body>
</html>

效果图如下:


        以上红色块是代表fixed的,绿色块是代表absolute的,接下来拖动下拉滚动条,变化如下:


        可以看出红色块并未移动,而绿色块发生了移动,是因为它原本最底下的参考点往上移动了,所以它也跟着往上移动。

4.inherit

        inherit就是继承的意思,如果它的配置是以父类为基准的,就算子类重新配置,父类的定位配置也会将其覆盖。

<!DOCTYPE html>
<html>
 <head>
  <title>HTML示例</title>
  <style type="text/css">
  
	.par {
		width: 200px;
		height:150px;
		background-color:red;
	}
	.son{
	
		width: 100px;
		height:50px;
		position:inherit;
		bottom:50px;
		right:50px;
		background-color:green;
	
	}

	
  </style>
 </head>
 <body>

<div></div>
<div class="par"><div class="son"></div></div>

 </body>
</html>

效果如下:



5.z-index

        常规来说后面的块会覆盖前面的块,但是z-index可以改变层级的优先级,z-index值大的会覆盖z-index小的层级。实例如下:

<!DOCTYPE html>
<html>
 <head>
  <title>HTML示例</title>
  <style type="text/css">
  
	.par {
		width: 200px;
		height:150px;
		background-color:red;
		position:fixed;
		left:50px;
		top:100px;
		
	}
	.son{
		
		color:green;
		position:fixed;
		left:80px;
		top:130px;
		
	
	}

	
  </style>
 </head>
 <body>

<div class="par"></div>
<div class="son">z-index的用法</div>
 </body>
</html>

效果如下:


        可以看出后面的层会覆盖前面的层,那么接下来通过改变z-index的值来改变层的顺序。

<!DOCTYPE html>
<html>
 <head>
  <title>HTML示例</title>
  <style type="text/css">
  
	.par {
		width: 200px;
		height:150px;
		background-color:red;
		position:fixed;
		left:50px;
		top:100px;
		
	}
	.son{
		
		color:green;
		position:fixed;
		left:80px;
		top:130px;
		z-index:-1;
		
	
	}

	
  </style>
 </head>
 <body>

<div class="par"></div>
<div class="son">z-index的用法</div>
 </body>
</html>

效果如下:


        可以看出,文字的z-index比较小会被覆盖,默认的z-index是0.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值