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

Safari浏览器中CSS mask-image或mask-mode失效问题求助

Safari下CSS mask-image/mask-mode失效问题及解决方案

在Safari浏览器中,CSS的mask-image或mask-mode属性无法正常工作,但该效果在Chrome浏览器中可正常运行:

  • 正常效果(Chrome):Chrome下的正常效果
  • 失效效果(Safari):Safari下的失效效果

以下是采用Stack Overflow用户herrstrietzel发布的解决方案2——「用mask替代CSS-clip path」的代码实现:

CSS代码

:root{
  --mask : url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 86.6 100'><defs><path id='hex' d='M38.97 2.5q4.33-2.5 8.66 0l34.64 20q4.33 2.5 4.33 7.5l0 40q0 5-4.33 7.5l-34.64 20q-4.33 2.5-8.66 0l-34.64-20q-4.33-2.5-4.33-7.5l0-40q0-5 4.33-7.5l34.64-20z'/></defs><rect width='100%' height='100%'/><use href='%23hex' fill='white' stroke='black'/></svg>");

  --hexfront : url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 86.6 100'><path fill='none' stroke='white' stroke-width='3' transform='scale(0.75)' transform-origin='50%' d='M38.97 2.5q4.33-2.5 8.66 0l34.64 20q4.33 2.5 4.33 7.5l0 40q0 5-4.33 7.5l-34.64 20q-4.33 2.5-8.66 0l-34.64-20q-4.33-2.5-4.33-7.5l0-40q0-5 4.33-7.5l34.64-20z'/></svg>");
  
}


.hexagon {
  width: 200px;
  display: inline-block;
  margin: 0 5px;
  position:relative;
  line-height:0;
}

img {
  aspect-ratio:1/1.15;
  width: 100%;
  height:100%;
}



.mask{
  mask-image: var(--mask);
  mask-mode: luminance;
}


.mask:after {
  content: "";
  display: block;
  position: absolute;
  inset:0%;
  height: 100%;
  width: 100%;
  background-image: var(--hexfront);
}

HTML代码

<div class="hexagon">
  <div class="mask">
    <img src="https://images.unsplash.com/photo-1724884564497-f5024b7e2f93?q=80&w=257" />
  </div>
</div>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 13:40:02