为了更好的体验左右滑动,而且更加美观,我们常常会做如下效果:
通过伪类+渐变实现左右半透明的滚动列表,微信小程序同样也适用,渐变的兼容性不太好,所以我们需要针对不同的浏览器写不同的代码。
首先先写个静态页面
<div class="my-list">
<ul>
<li>左右半透明</li>
<li>滚动列表</li>
<li>左右半透明</li>
<li>滚动列表</li>
<li>伪类</li>
<li>渐变</li>
<li>内容</li>
</ul>
</div>
如果是微信小程序,类似的写一个
<scroll-view class="my-list" scroll-x="true" enable-flex="true">
<text>左右半透明</text>
<text>滚动列表</text>
<text>左右半透明</text>
<text>滚动列表</text>
<text>伪类</text>
<text>渐变</text>
<text>内容</text>
</scroll-view>
然后写css
.my-list:after,.my-list:before {
display: block;
content: "";
position: absolute;
z-index: 1;
top: 0;
height: 100%;
width: 20%
}
.my-list:before {
left: 0;
background: -webkit-gradient(linear,left top,right top,from(#fff),to(hsla(0,0%,100%,0)));
background:-webkit-linear-gradient(left,#fff,hsla(0,0%,100%,0));
background: -moz-linear-gradient(left,#fff,hsla(0,0%,100%,0));
background: linear-gradient(90deg,#fff,hsla(0,0%,100%,0));
}
.my-list:after {
right: 0;
background: -webkit-gradient(linear,right top,left top,from(#fff),to(hsla(0,0%,100%,0)));
background: -webkit-linear-gradient(right,#fff,hsla(0,0%,100%,0));
background: -moz-linear-gradient(right,#fff,hsla(0,0%,100%,0));
background: linear-gradient(270deg,#fff,hsla(0,0%,100%,0));
}
其中 .my-list:after,.my-list:before
中 width
控制左右半透明的长度,根据需求更改
如此便通过伪类+渐变实现了左右半透明的滚动列表
viencoding.com版权所有,允许转载,但转载请注明出处和原文链接: https://viencoding.com/article/256