微信小程序 CSS border-radius元素 overflow:hidden失效问题 iPhone ios 苹果兼容问题 伪类元素

时间:2022-06-09 22:17:57

同事找我解决一个问题 说安卓圆角没问题 苹果上失效了 我一看 其实就是没做兼容
上图给你们看看

微信小程序 CSS border-radius元素 overflow:hidden失效问题 iPhone ios 苹果兼容问题 伪类元素

有没有看出来 其实就是父级设置圆角属性失效 父元素使用border-radius和overflow:hidden做成圆形,子元素如果使用了transform属性,则父元素的overflow:hidden会失效。 我同事用css3动画给这些字体价格闪闪旋转的金边
这个好办
父元素使用 -weibkit-mask-image 覆盖掉圆角部分。-webkit-mask-image 可以使用图片、Gradient 渐变或者 SVG mask 作为元素的 mask 遮罩。在 WebKit 的兼容性还算可以。

-webkit-mask-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC);
-webkit-mask-image: -webkit-radial-gradient(white, black);

这两个css属性放到父级就可以了 然后我发现 这个问题百度搜的很少(可能我关键字不对) 找到一个这个还很累赘(代码量太多)
然后我就自己研究了一下 其实用着两句就好了
-webkit-backface-visibility: hidden;-webkit-transform: translate3d(0, 0, 0);
ok 加上就搞定 

不信你试试,我相信你会回来点赞的!!!!