CSS scroll-behavior屬性: 滾動框指定滾動行為


概念

  當用戶手動導航或者 CSSOM scrolling API 觸發滾動操作時,CSS 屬性 scroll-behavior 為一個滾動框指定滾動行為,其他任何的滾動,例如那些由於用戶行為而產生的滾動,不受這個屬性的影響。在根元素中指定這個屬性時,它反而適用於視窗。

 

語法

/* Keyword values */
scroll-behavior: auto;  // 滾動條立即滾動
scroll-behavior: smooth;  // 窗口平穩滾動

/* Global values */
scroll-behavior: inherit;
scroll-behavior: initial;
scroll-behavior: unset;

 

兼容性

 

例子

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>錨點平滑跳轉</title>

    <style>
        *{
            margin: 0;
            padding: 0;
        }
        html{
             scroll-behavior: smooth;
        }
        nav{
            width: 50%;
            height: 50px;
            text-align: center;
            position: fixed;
            left: 50%;
            transform: translateX(-50%);
            top: 0;
            background: green;
        }
        nav a{
            display: inline-block;
            line-height: 50px;
            color: #FFF;
            text-decoration: none;
            padding: 0 30px;
        }


        .box{
            width: 100%;
            text-align: center;
            font-size: 30px;
            color: #FFF;
        }
        #box1{
            background: #d00;
        }
        #box2{
            background: #42a4ff;
        }
        #box3{
            background: #008080;
        }
    </style>
</head>
<body>
    <nav>
        <a href="#box1">box1</a>
        <a href="#box2">box2</a>
        <a href="#box3">box3</a>
    </nav>

    <div id="box1" class=" box">box1</div>
    <div id="box2" class=" box">box2</div>
    <div id="box3" class=" box">box3</div>

    <script>
        onload = function(){
            const _Height = document.documentElement.clientHeight;
            const Box = document.getElementsByClassName('box');

            for (var i=0;i<Box.length;i++){
                Box[i].style.height = _Height + 'px'
                Box[i].style.lineHeight = _Height + 'px'
            }

        }
    </script>
</body>
</html>

 

 
詳見 https://developer.mozilla.org/zh-CN/docs/Web/CSS/scroll-behavior


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM