css3在IOS上渐变显示错误
发布于 6 年前 作者 wei54 2770 次浏览 来自 问答
  • 当前 Bug 的表现(可附上截图)

渐变色在ios上显示有白条

  第一张图为IOS下显示效果(IOS都是这个白条效果)

第二张图是android 效果   最后一行渐变色正常

  • 复现路径

wxml

<view class=‘cardDetails’>

<view class=‘card-info’>

<text class=‘card-title’>技能描述</text>

<view id=‘cardText’ class=‘card-text {{overflowHiding?“textHide”:“textShow”}}’ catchtap=‘overflowHidingFn’><text>{{card.cardDescription}}</text></view>

<!-- 透明遮罩层    主要显示错误位置–>

<view class=‘hide-article-box’ wx:if="{{overflowHiding}}">

</view>

<!-- 透明遮罩层    主要显示错误位置    end–>

</view>

<image src=’{{card.cardImg}}’ lazy-load=“true” mode=’{{imgMode}}’ bindload=“imgLoadFinish” class=‘card-img’></image>

</view>

wxss

.cardDetails {background-color: #FFBA17;display: flex;flex-direction: row;justify-content: space-between;padding: 66rpx 42rpx;

}

.card-info {font-size: 30rpx;position: relative;}

.card-title {background-color: #FF8518;text-align: center;padding: 8rpx 20rpx;border-radius: 60rpx;box-sizing: border-box;font-size: 34rpx;display: block;width:178rpx;}

.card-text {max-width: 470rpx;line-height: 1.4;margin-top: 26rpx;}

/* -------- 溢出隐藏 */

.textShow {overflow: auto;-webkit-line-clamp: 40;}

.textHide { overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-line-clamp: 4;-webkit-box-orient: vertical;}

/* 文本透明渐变色            主要显示错误 css  代码  -------------------     */

.hide-article-box {

position: absolute;z-index: 300;bottom: -1px;width: 100%;

height: 40rpx;

/* padding-top: 20px; */

background-image: linear-gradient(-180deg,rgba(255,255,255,0) 30%,#FFBA17 100%);

background-image: -webkit-linear-gradient(-90deg,rgba(255,255,255,0) 30%,#FFBA17 100%);

}



  • 提供一个最简复现 Demo
5 回复

我也遇到了这种情况,在android上面渐变正常,到了IOS上面渐变有时正常有时直接渐变到一半就卡住了,然后就直接全部执行完成了。

头壳痛啊 ,心好累。

你看下在 safari 下或者微信浏览器下是不是也这样,css 相关的问题一般是由苹果提供的浏览器内核渲染,这个我们也无能为力

解决方法

将rgba()中的前三个参数,设置成背景色的颜色值即可。

这个问题在解决了吗? 现在我同样开发工具上实现了CSS3的渐变效果,但IOS真机上就是均匀的半透明,没有渐变。

回到顶部