wtto WTTO'S BLOG

使用mask实现前景内容透明度渐变

Posted on: 2022年3月7日  at 16:14
使用mask实现前景内容透明度渐变

使用mask实现前景内容透明度渐变

mask 遮罩,使用一张图片或者渐变色做为遮罩,所在元素的透明度会跟随遮罩的透明度。

html

<div class="wrap">
  <ul class="container">
    <li>1111111111111111111111111111</li>
    <li>1111111111111111111111111111</li>
    <li>1111111111111111111111111111</li>
    <li>1111111111111111111111111111</li>
    <li>1111111111111111111111111111</li>
    <li>1111111111111111111111111111</li>
    <li>1111111111111111111111111111</li>
    <li>1111111111111111111111111111</li>
    <li>1111111111111111111111111111</li>
    <li>1111111111111111111111111111</li>
    <li>1111111111111111111111111111</li>
    <li>1111111111111111111111111111</li>
    <li>1111111111111111111111111111</li>
    <li>1111111111111111111111111111</li>
    <li>1111111111111111111111111111</li>
    <li>1111111111111111111111111111</li>
    <li>1111111111111111111111111111</li>
    <li>1111111111111111111111111111</li>
  </ul>
</div>

css

.wrap {
  width: 300px;
  height: 200px;
  background-image: url(../../assets/images/cat.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.container {
  height: 100%;
  overflow-y: auto;
  list-style: none;
  padding-left: 0;
  position: relative;
  margin: 0;
  -webkit-mask: linear-gradient(transparent, #000 60%);
  scrollbar-width: none;
}
.container::-webkit-scrollbar {
  display: none;
}
.container li {
  width: fit-content;
  background: rgba(0 0 255 / 60%);
  margin-bottom: 8px;
  color: #fff;
  padding: 8px;
  box-sizing: border-box;
}

完整示例

CodePen 示例

作者:  wtto
发表时间: 2022年3月7日
最后更新时间:  2024年1月1日
版权说明:  CC BY-NC-ND 4.0 DEED