CSS中关于position

position的功能就如它的中文意思一样——位置

在CSS中position有四个属性:

1.静态(static)

2.绝对定位(absolute)

3.相对定位(relative)

4.固定定位(fixed)


1.静态

position:static;   

静态就是默认值,是基本的定位规则,不使用position默认就是position:static。

2.绝对定位

position:absolute;

绝对定位就是使元素在left,right,top,bottom的作用下相对其最近的一个父元素进行定位(若无父元素就相对于body)。

如:

div{
    width:200px;
    height:200px;
    border:1px solid red;
    position:absolute;
    right:50px;
    top:20px;
}
<div id="div1">这是absolute</div>



ps: right:50px;理解为距最右侧50px,而不是向右移50px,初学者容易搞错(left,top,bottom同)。


3.相对定位

相对定位是相对以前的位置进行定位,在只有没有父元素的情况下和绝对定位效果一致。


4.固定定位

这个就比较厉害了,固定定位能够把视图固定,是它不随滚动条的拖动而移动。

如:

div{
    width:200px;
    height:200px;
    border:2px red solid;
    position:fixed;
    bottom:0;
    right:0;
}


(眼花缭乱。。。)


5.关于绝对定位和相对定位

相信大家对绝对定位和相对定位的区别还是有疑惑的,别急,接下来我将向你揭开它们神秘的面纱。


绝对定位和相对定位的主要区别在绝对定位偏移前的位置不存在了,而相对定位偏移前的位置存在。

打个比方,绝对定位移动的是本体,移动后原位置什么都没有了;而相对定位移动的是影子,实际上它的本体还在原位。

下面用两段代码来加深理解:

div{
    width:200px;
    height:200px;
	border:2px solid red;
	position:absolute;
    left:100px;
    top:50px;
}

<body>
    <div id="div1"></div>
    <span>绝对定位,偏移之后原位置为空,相对定位,偏移之后原位置不为空</span>
</body>

这里要注意<span>标签是在<div>外的。


接下来我们把absolute改为relative。

div{
    width:200px;
    height:200px;
	border:2px solid red;
	position:relative;
    left:100px;
    top:50px;
}





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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值