尤明明Blog

网站建设 | 前端切图,技术不仅是一种专业,更是一种责任!

您的当前位置: 首页 » 前端学习 » css3+html5 »

关于 Safari 下圆角 border-radius & overflow 溢出隐藏不生效闪动的问题

2023-05-30   Umming   css3+html5    评论(0)    浏览(1070)


最进做项目父元素使用圆角属性并且溢出隐藏,发现子元素在safari浏览器溢出隐藏效果无效的情况,如下

其他浏览器效果是这样

5713.png

safari效果是这样

5658.png

解决方法
我们只要在 border-radius 的元素上添加一个可创建 Stacking Context(层叠上下文)的 CSS 属性即可。比如 transform: scale(1)、transform: translateZ(1px)、isolation: isolate、position: relative; z-index: 0 等等。
从语义角度考虑,个人更偏向使用 isolation,它表示该元素是否必须创建一个新的层叠上下文。
从兼容性角度考虑,相比 isolation,transform 或 position + z-index 会更好一些。

.box {
  overflow: hidden;
  border-radius: 30px;
  isolation: isolate; /* 新增 */
}
.box img {
  width: 100%;
  height: 100%;
}

标签: css3特效

本文链接:https://www.umming.com/css3_html5/301.html

声明:本站信息由网友自行发布或来源于网络,真实性、合法性由发布人负责,请仔细甄别!本站只为传递信息,我们不做任何双方证明,也不承担任何法律责任。文章内容若侵犯你的权益,请联系本站删除!


发表评论:

//