关于定位(position属性)

1、absolute
  • 生成绝对定位的元素,相对于static定位以外的第一个父元素进行定位。

  • absolute绝对定位元素相对的元素是它最近的父元素进行定位,该父元素满足:position的值必须是:relative、absolute、fixed,若没有这样的父元素则相对于body进行定位。

  • 元素的位置通过“left”,“top”,“right”以及“bottom”属性进行规定。

2、fixed

生成绝对定位的元素,相对于浏览器窗口进行定位。

当元素祖先的 transform 属性非 none 时,容器由视口改为其父元素。

3、relative

生成相对定位的元素,相对于其正常位置进行定位。不脱离文档流。

4、static

默认值。没有定位,元素出现在正常的流中(忽略top,bottom,left,right或者z-index声明)。

5、inherit

规定应该从父元素继承position属性的值。

6、sticky

css3新属性,可以说是position:relative和position:fixed的合体。主要用在对scroll事件的监听上。

1.在目标区域在屏幕中可见时,它的行为就像position:relative;

2.页面滚动时

  • 当父元素是body时

    a.滚动距离小于屏幕高度或宽度,它会固定在目标位置

    b.滚动距离大于屏幕高度或宽度,它的表现就像position:relative和1一样

  • 当父元素不是body

    a.在父元素高度内滚动时它会固定在目标位置,就像fixed

    b.在父元素滚动为不可视时它的表现就像position:relative和1一样

使用条件:
1、父元素不能overflow:hidden或者overflow:auto属性。
2、必须指定top、bottom、left、right4个值之一,否则其行为与相对定位相同。并且top和bottom同时设置时,top生效的优先级高,left和right同时设置时,left的优先级高。
3、父元素的高度不能低于sticky元素的高度
4、sticky元素仅在其父元素内生效

例子:标题吸顶

<ul class="sticky-list">
    <li class="sticky-item">
        <div class="title">list1</div>
		// n个list
        <ul class="list">
			// n个item
        	<li class="item">1111</li>
        </ul>
    </li>
</ul>

<style>
    .title {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        background-color: #fff;
    }
    .item {
        display: block;
    }
</style>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值