JS滚轴-文字根据滚动渐入渐出的效果

该代码示例展示了如何使用JavaScript和CSS实现一个滚轴依赖的背景渐变效果。当页面滚动时,文本通过背景渐变实现渐入效果,增加了视觉吸引力。主要涉及的技术包括`position:sticky`,CSS自定义属性以及滚动事件监听。
摘要由CSDN通过智能技术生成

JavaScript -滚轴

在这里插入图片描述

<div class="sticky">
  <h1>Less bezel, more screen.</h1>
</div>
:root{
  --percentage:0%
}
body{
  background-color: #000;
  margin: 0;
  height:300vh;/*3倍高度*/
}
.sticky{
  position:sticky;
  top:0;
  display:flex;
  justify-content:center;
  align-items:center;
  height:100vh;
}
h1{
  font-family:Helvetica;
  margin: 0;
  padding: 0;
  font-size:48px;
  color:#fff;
  letter-spacing:-0.3px;
    
  background-image:linear-gradient(75deg,rgba(255,255,255,1) 0%,rgba(255,255,255,1) 33.33%,rgba(255,255,255,0) 66.67%,rgba(255,255,255,0)100%);
 background-size:300% 100%;/*将背景的渐层颜色拉到3倍的宽度*/
 background-position-x:calc(100% - var(--percentage));
   /*
   0%=0%-33.33%的渐变色
   50%=33.33%-66.67%的渐变色
   100%=66.67%-100%的渐变色
   所以由100%动态改变为0%,就可以做到文字渐入的效果
   */
  background-clip:text;
  -webkit-background-clip:text;
  color:transparent;

}

//先取h1标签
const h1=document.querySelector("h1")
//监听滚轴,设置变量scrolled=滚动位置/(所有内容的高度-可视内容的高度)=>(0-1之间)
//document.documentElement.scrollTop获取滚动位置documentElement对应的是html标签
//document.documentElement.scrollHeight浏览器所有内容高度 如1605
//document.documentElement.clientHeight浏览器可视内容高度 如535
document.addEventListener("scroll",(e)=>{
  let scrolled=document.documentElement.scrollTop /(document.documentElement.scrollHeight - document.documentElement.clientHeight)

  //给h1添加样式属性--percentage =设置变量(scrolled*100)转换成%
  h1.style.setProperty("--percentage",`${scrolled*100}%`)
  
  console.log(scrolled)
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Jackie_Mina

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

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

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

打赏作者

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

抵扣说明:

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

余额充值