css解决方案前端开发那些事儿

CSS3实现滚动视觉差效果

2021-07-13  本文已影响0人  听书先生

在网上看到过一个比较有趣的动画效果实现,就趁空闲时间也做着玩玩,顺便回顾下css3的一些相关属性。

css滚动视差.gif
1、背景图的相关css3属性
重点属性
2、HTML代码片段
<div class="background"><span>Learn</span></div>
3、CSS片段
            html,
            body {
                margin: 0;
                padding: 0;
                height: 200vh;
                overflow-x: hidden;
            }

            .background {
                background-image: url(img/dep.jpeg);
                background-size: cover;
                background-position: 50% 80%;
                height: 200vh;
                line-height: 200vh;
                font: 600 20rem '';
                -webkit-background-clip: text;
                -webkit-text-fill-color: transparent;
                position: relative;
                text-align: center;
                overflow: hidden;
            }

            .background::before {
                content: '';
                background-size: cover;
                background-image: inherit;
                background-position: 50% 80%;
                position: absolute;
                top: 0;
                left: 0;
                bottom: 0;
                right: 0;
                z-index: -99;
            }
3、JavaScript部分
        const background = document.querySelector('.background');
        // 给文档添加滚动事件
        document.addEventListener('scroll', () => {
            var scrollY = window.scrollY;  
            // debugger
            if (scrollY !== 0) {
                background.style.backgroundPosition = `calc(50% + ${scrollY}px) calc(50% + ${scrollY}px)`;
            } else {
                background.style.backgroundPosition = '';
            }
        })
上一篇 下一篇

猜你喜欢

热点阅读