CSS学习9

定位

固定在屏幕中的某个位置,叫做定位

定位的主要价值是移动位置,让盒子到我们想要的地方去

定位属性

元素的定位属性主要包括定位模式和边偏移两个部分

边偏移

边偏移有四种属性:

top:顶端偏移量,定义元素相对于其父元素上边线的距离

bottom:底部偏移量,定义元素相对于其父元素下边线的距离

left:左侧偏移量,定义元素相对于其父元素左边线的距离

right:右端偏移量,定义元素相对于其父元素右边线的距离

定位模式

在CSS中,position属性用于定位元素的定位模式

其常用值:

static:自动定位(默认)

relative:相对定位,相对于其原文档流的位置进行定位

absolute:绝对定位,相对于其上一个已经定位的父元素进行定位

fixed:固定定位,相对于浏览器窗口进行定位

静态定位(static)

静态定位是所有元素的默认定位方式,此时将元素定位与静态位置。而所谓的静态位置就是各个元素在HTML文档流中默认的位置。此时,无法通过边偏移属性定位元素的位置。这种模式一般用于清除定位。

相对定位

相对定位是相对于元素原文档流的位置进行定位

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			div{
				width: 50px;
				height: 50px;
				background-color: pink;
			}
			div:nth-child(2){
				background-color: purple;
				position: relative;
				left: 20px;
				top: 30px;
			}
		</style>
	</head>
	<body>
		<div></div>
		<div>2</div>
		<div></div>
	</body>
</html>

效果:

注意:相对位移可以通过边偏移移动位置,但其原来说占用的位置依旧继续占用。并且,每次移动的位置,是以其左上角为基点移动。所以,相对定位的盒子仍然在标准流之中,它后面的盒子人就以标准流的方式对待他。

绝对定位

相对于其上一个已经定位的父元素进行定位

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			.first{
				width: 100px;
				height: 100px;
				background-color: pink;
			}
			.middle{
				width: 150px;
				height: 120px;
				background-color: yellow;
				position: absolute;
				left: 10px;
				top: 20px;
			}
			.last{
				width: 200px;
				height: 150px;
				background-color: purple;
			}
		</style>
	</head>
	<body>
		<div class="first"></div>
		<div class="middle">middle</div>
		<div class="last"></div>
	</body>
</html>

效果:

 

注意:绝对定位是完全脱离标准流的,不占用位置,对其下面的其他元素无影响。

           如果父亲没有定位,此时以浏览器为准

           如果父亲有定位则根据最近的已定位(绝对、固定或相对定位)的父级元素进行定位

子绝父相

一般来说,如果子级是绝对定位的话,父级要用相对定位

绝对定位水平垂直居中

实现居中对齐时,普通的盒子将margin的左右改为auto就可以,但对于绝对定位,这不起作用

需要使绝对定位的盒子水平居中,则:设定left=父盒子的一半-自己大小的一半

同理,垂直居中则:top=父盒子高度的一半-自己高度的一半

/*假设自己宽度为100px,高度为80px*/
left:50%;
margin-left:-50px;
top:50%;
margin-top:-40px;

固定定位

固定定位以浏览器窗口作为参照物来定义网页元素,当position属性的取值为fixed时,为固定定位。

当对元素设置固定定位之后,它将脱离标准文档流的控制,始终依据浏览器窗口作为参照物来定义自己的显示位置。不管浏览器滚动条如何滚动,窗口的大小如何变化,该元素都会始终显示在浏览器窗口的固定位置。

注意:固定定位的元素跟父亲没有任何关系,只认浏览器。固定定位完全脱标,不占有位置,不随着滚动条滚动

i6等低版本浏览器不支持固定定位

注意:固定定位的盒子一定要写宽和高,除非有内容物撑开

叠放次序

当对多个元素同时设置定位时,定位的元素直接可能会有重叠

在CSS中,如果想设置重叠元素的堆叠顺序,则可以对定位元素应用z-index层叠等级属性,其值可以是正整数、负整数、0

z-index默认为0,其取值越大,定位元素在层叠元素中越居上

如果值相同,则按照书写顺序,后面的元素在上

z-index的值没有单位

只有相对定位、绝对定位、固定定位有此属性

总结

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值