菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
64
0

css怎么设置粘性定位?

原创
05/13 14:22
阅读数 947

css怎么设置粘性定位?

粘性定位的设置方法是给元素添加position: sticky; ,sticky是css定位新增属性,类似static(没有定位) 和 固定定位fixed 的结合。

它主要用在对 scroll 事件的监听上,简单来说,在滑动过程中,某个元素距离其父元素的距离达到 sticky 粘性定位的要求时(比如top:100px);(相关课程推荐:css视频教程

position:sticky这时的效果相当于fixed定位,固定到适当位置

1、sticky的使用:

#sticky-nav {
    position: sticky;
    top: 100px;
}

设置 position:sticky 同时给一个 (top,bottom,right,left) 之一即可

使用条件:

  • 父元素不能overflow:hidden或者overflow:auto属性。

  • 必须指定top、bottom、left、right4个值之一,否则只会处于相对定位

  • 父元素的高度不能低于sticky元素的高度

  • sticky元素仅在其父元素内生效

2、示例:

<!DOCTYPE html>
<html >
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        #sticky-nav {
            position: sticky;
            top: 0px;
            background: skyblue;
        }
        #sticky-nav > ul{
            list-style: none;
            padding: 0;
            margin: 0;
            display: flex;
            justify-content: space-around;
        }
        #sticky-nav > ul > li{
            color: #fff;
            padding: 8px 4px;
        }
        p{
            height: 100px;
            line-height: 100px;
            margin: 6px 0;
            background: #eee;
        }
    </style>
</head>
<body>

    <p>一段文字</p>
    <div id="sticky-nav">
        <ul>
            <li>导航1</li>
            <li>导航2</li>
            <li>导航3</li>
            <li>导航4</li>
        </ul>
    </div>
    <p>一段文字</p>
    <p>一段文字</p>
    <p>一段文字</p>
    <p>一段文字</p>
    <p>一段文字</p>
    <p>一段文字</p>
    <p>一段文字</p>
    <p>一段文字</p>
    <p>一段文字</p>
</body>
</html>

效果:

4.gif

发表评论

0/200
64 点赞
0 评论
收藏
为你推荐 换一批