CSS 3.0的clip-path滚动特效

2020-11-26 11:17:21 浏览数 (2)

今天给大家分享一个特效,效果如下:

以下是代码实现,欢迎大家复制粘贴和收藏。

代码语言:javascript复制
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>clip-path滚动特效</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            font-family: '微软雅黑', sans-serif;
            box-sizing: border-box;
        }

        .title {
            position: relative;
            top: 250px;
            z-index: 1;
            font-size: 3em;
            text-align: center;
        }

        section {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100vh;
            background: url(bg.jpeg);
            background-size: 100%;
            background-attachment: fixed;
            clip-path: circle(0px at center);
        }

        .container {
            position: relative;
            margin-top: 200vh;
            background: #fff;
        }

        img{
            width:100%;
            height:100%;
        }
    </style>
</head>

<body>
    <h2 class="title">Scroll To See Magic Again...</h2>
    <section></section>
    <div class="container">
        <!-- 此处可以写一些其它的内空 -->
        <img src="bg.jpeg" alt="">
    </div>
    <script>
        let section = document.querySelector('section')
        window.addEventListener('scroll', function () {
            let value = window.scrollY
            section.style.clipPath = `circle(${value}px at center)`
        })
    </script>
</body>

</html>

以下是代码中所引用的图片(bg.jpeg)

0 人点赞