position之absolute

position:absolute

作用:使元素脱离常规流

特点:

  1. 脱离常规流

  2. 用百分比设置元素宽和高的时候要注意是按照谁的百分比设置的------最近定位祖先元素

  3. 如果没有最近定位祖先元素,会默认body是

  4. z-index可以控制堆叠顺序

案例一(1,4)

html

	<body>
		<div class="box">A在上面</div>
		<div class="box">B在上面</div>
		<div class="box">C</div>
	</body>

css

		<style type="text/css">
			*{
				margin: 0;
				padding: 0;
			}
			.box{
				width: 200px;
				height: 200px;
				border: 2px red solid;
				line-height: 200px;
				text-align: center;
			}
			.box:nth-child(2){
				position: absolute;
				top: 20px;
				left: 30px;
				background: darkblue;
				z-index: 1;
			}
			.box:nth-child(1){
				position: absolute;
				top: 20px;
				left: 30px;
				z-index: 999;
				background: skyblue;
			}

		</style>		

 

 效果:

案例二(解释第二个和第四个作用) 

设置了含有box类的div以及parent类的div,其宽高都是百分之五十,通过实现含box类的div宽高为浏览器的50%、含child类的宽高为父容器宽高的50%来解释这个问题

<body>
	<div class="box"><span>box</span></div>
	<div class="parent">
		<div class="child"></div>
	</div>
</body>
                        *{
				margin: 0;
				padding: 0;
			}
			
			.box{
				width: 50%;
				height: 50%;
				border: 1px skyblue solid;
				text-align: center;
				vertical-align: middle;
				display: table;
				position: absolute;
			}
			.box span{
				display: table-cell;
				vertical-align: middle;
			}
			.parent{
				width: 500px;
				height: 500px;
				position: relative;
				top: 400px;
				border: 1px red solid;
			}
			.child{
				width: 50%;
				height: 50%;
				border: 1px skyblue solid;
				position: absolute;
			}

效果:

 

案例三:

html

	<body>
		<div class="parent">
			<div class="child"></div>
		</div>
	</body>

css

			.parent{
				width: 500px;
				height: 500px;
				position: relative;
				top: 400px;
				border: 1px red solid;
			}
			.child{
				width: 50%;
				height: 50%;
				top: 0;
				bottom: 0;
				left: 0;
				right: 0;
				margin: auto auto;
				border: 1px skyblue solid;
				position: absolute;
			}

效果:

如果把child类中的宽高去掉内外边框就会重合

child修改后的代码,其它不变:

			.child{
				top: 0;
				bottom: 0;
				left: 0;
				right: 0;
				border: 1px skyblue solid;
				position: absolute;
			}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值