【页面效果】视觉滚动差

实现思路

html结构

    <div class="bg">
      <span>hello</span>
    </div>

css样式

* {
  margin: 0;
  padding: 0;
}
body{
  /* 200%窗口高度*/
  height: 200vh;
}
.bg {
  height: 200vh;
  background-image: url('https://cube.elemecdn.com/6/94/4d3ea53c084bad6931a56d5158a48jpeg.jpeg');
  /* 对图片设置定位 */
  background-position: 50% 50%;
  /* 对图片进行剪切,保持原本比例 */
  background-size: cover;
  text-align: center;
  font-size: 400px;
  font-weight: 900;
  /* 相对定位 */
  position: relative;
  /* 以区块内的文字作为裁剪区域向外裁剪,文字的背景即为区块的背景,文字以外的区域全部裁掉 */
  -webkit-background-clip: text;
  /* 文字变成镂空 */
  -webkit-text-fill-color: transparent;
  overflow: hidden;
  padding-top: 100px;
}
.bg::before{
  content: "";
  position: absolute;
  top:0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: -99;
  /* 背景图片继承父元素 */
  background-image: inherit;
  background-size: cover;
  background-position: 50% 50%;
}

js代码

    // 获取背景对象
    let bg=document.querySelector('.bg')
    // 监听滚轮事件
    document.addEventListener('scroll',function(){
      let scrollY=window.scrollY
      if(scrollY!=0){
        bg.style.backgroundPosition="calc("+scrollY+"px) calc("+scrollY+"px)"
      }
      else{
        bg.style.backgroundPosition=""
      }
    })
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Triumph-light

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值