小程序-swiper + borderRadius + overflow失效问题(轮播图案例)

问题重现

const imgList = [
	"https://XXXXXX1.png",
	"https://XXXXXX2.png"
]
<div className="container">
	<Swiper autoplay circular style={{ width: 140 }}>
		{imgList.map((item, index) => (
			<SwiperItem key={index}>
				<Image className="image" src={item} />
			</SwiperItem>
		))}
	</Swiper>
</div>

.container {
	width: 100%;
	border-radius: 8px;
}
.image {
	width: 100%;
	height: 100%;
}

问题1:圆角设置无效

这种情况下,遇到了第一个问题,圆角设置失败
在这里插入图片描述
解决办法:给container元素添加overflow: hiddentransform: translateY(0),我这边只加overflow就好了
问题原因:微信webview的渲染问题,至今未修复

问题2:ios圆角设置无效

没有结束!!!
上面的写法对于安卓和模拟器来说是可以完美展示的,ios上展示就有问题了,圆角不生效

解决办法

  • 给父元素添加height: auto即可,亲测有效
  • 给父元素添加position: fixed | relative(没有试验过)
  • 给父元素添加backface-visibility: hidden + transform: translate3d(0, 0, 0)(没有试验过)

问题原因:由于不同内核导致的,ios内核只要子元素使用了transform属性,子元素的overflow:hidden就会失效,而swiper的滑动效果正好使用了transform属性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值