You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

切换为gatsby-plugin-image后Safari中CSS Border Radius不生效问题

问题原因

gatsby-plugin-image 导出的 GatsbyImage 组件内部自带多层嵌套DOM结构,直接给外层组件设置 border-radius 时,Safari 浏览器默认不会对内部的图片内容做溢出裁剪,因此圆角样式无法生效,其他内核浏览器会自动处理该场景,所以显示正常。

修复方案

方案一(优先使用)

给自定义的样式组件新增 overflow: hidden 属性,强制 Safari 裁剪超出圆角范围的内容:

export const MyImageContainer = styled(GatsbyImage)`
  cursor: pointer;
  border-radius: 25px;
  overflow: hidden; /* 新增该行即可 */
`

方案二(方案一无效时使用)

如果添加 overflow: hidden 后仍未生效,可同时给内部的图片元素同步设置圆角属性:

export const MyImageContainer = styled(GatsbyImage)`
  cursor: pointer;
  border-radius: 25px;
  overflow: hidden;
  & img {
    border-radius: 25px;
  }
`
注意事项

如果你的图片还设置了平移、缩放等 transform 相关动效,可额外添加 isolation: isolate 属性避免 Safari 渲染层级异常导致圆角失效。

内容的提问来源于stack exchange,提问作者AskQuestion

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 07:09:02