css实现滚动时选中区域字体颜色加深的示例代码

2024年03月09日 01:36:47益点益滴839

在封装日期选择器时,需要选中时字体颜色加深,先看一下实现后的效果

可以看到加深的不是整个文字,而是中间那片区域今天聊的重点不在选择器的封装,主要看这个样式效果,想了解此组件的实现思路可以看之前的文章日期选择器实现思路:

1.首先它是进入所在区域颜色就会加深,不是整个字体,所以我们就不能从选中是改变文字样式着手了,看到是区域首先想到的就是蒙层

2. 可是蒙层实现中间颜色变浅容易,就加蒙层+透明+定位就好,那如何加蒙层中间颜色反而变深呢,如果纠结从选中部分解决颜色加深的效果将会陷入深思。。。

3. 我们知道颜色变浅色容易那就让除了中间选中部分之外的都加蒙层使颜色变浅,到选中部分的自然都是深色了

4. 确定了要给上下加蒙层之后,又有问题需要考虑,如果加了蒙层在上面,还可以触发touchmove滚动吗?这里就想到了sticky定位
首先sticky不会脱离流文档,那么触发touchmove依旧是触发的此盒子内

代码实现:

  //html结构  <body>      <div class="box">          <p class="top"></p>          <p class="one">123123</p>             .....此处省略很多个          <p class="one">123123</p>          <p class="bottom"></p>      </div>  </body>  //样式  <style>      .box{          margin-top: 100px;          height: 420px;          width: 300px;          position: relative;          background-color: fff;          overflow: auto;          border: indigo 1px solid;      }      p{          margin:0;          height: 20px;          text-align: center;      }   //上下和加一个蒙层 背景白色 加上透明度 使遮挡的文字颜色变浅      .top{           height: 200px;          background-color: #fff;          position: sticky;  //*******关键代码          top: 0;   //*******关键代码          opacity: .4; //*******关键代码      }      .bottom{          height: 200px;          background-color: #fff;          position: sticky;          bottom: 0;          opacity: .4;      }  </style>  

实现效果:

css实现滚动时选中区域字体颜色加深的示例代码都看到这里了,搬砖不易,给小编点个赞呗,以后我会更有动力分享哦~

超赞,真给力!嗯,必须鼓励~

打赏 0
账号:mxy310@163.com[复制]
账号:77940140[复制]