我正在try 在我的网站上的图像上应用svg"湍流"过滤器.

enter image description here

但在safari上看起来很可怕:

enter image description here

似乎Safari正在将我的图像"拆分"为瓷砖...你有什么 idea 吗?

这是我的代码:

<svg>
     <filter id="turbulence" x="0" y="0" width="100%" height="100%">
            <feTurbulence
              id="sea-filter"
              numOctaves="3"
              seed="2"
              baseFrequency="0.02 0.05"
            ></feTurbulence>
            <feDisplacementMap
              scale="20"
              in="SourceGraphic"
            ></feDisplacementMap>
            <animate
              xlinkHref="#sea-filter"
              attributeName="baseFrequency"
              dur="120s"
              keyTimes="0;0.5;1"
              values="0.02 0.06;0.04 0.08;0.02 0.06"
              repeatCount="indefinite"
            />
      </filter>
</svg>

<div className={styles.sea} style={{ background: `url(${sea})` }}></div>

CSS:

.sea {
  position: absolute;
  inset: 0;
  width: 100vw;
  height: 100%;
  background-image: url("../../assets/images/Hero/Sea/sea.webp");
  background-size: cover;
  filter: url("#turbulence");
  animation: floating 80s ease forwards infinite;
  transform: translateY(0) scale(1.25);
}

我试图删除我的动画和变换,但不起作用...

提前感谢!

推荐答案

这是Safari中的一个bug:当湍流被变换时,它会丢失其平铺缝合.go 掉transform:scale(1.2),它至少在桌面Safari中可以正常工作.

卫生提示-始终将 colored颜色 插值过滤器="sRGB"添加到SVG过滤器中,这样就不会在默认的linearRGB colored颜色 空间中触发Safari的众多错误之一.

Html相关问答推荐

卡片上方的文本

springBoot + Thymeleaf:基于Locale设置页面语言

我如何 Select 外部html文件元素作为选项,并显示在一个div与jQuery?

使用网格时图像溢出容器高度

R-markdown中的非顺序列表

如何在一行文本溢出省略号后显示文本?

对称渐变作为背景

为什么不是所有字体好的图标都能与boostRapCDN一起使用呢?

调整一组IMG的大小以适应容器DIV

在Vue 3中使用v-Bind将计算(computed)属性传递给css url()

有没有一种方法可以很容易地将这个div从底部:0转换到顶部:0?

如何在 Bootstrap 5 中将两个导航栏元素放在末尾?

在React中如何处理HTML本地日期输入?

我如何使用 CSS nth-child(odd) nth-child(even) 来对齐 CSS 网格中的列?

两部分问题 - 是什么导致了这个空白?

在身体外部创建 tanget 45° div

我应该如何使这个带有标签的隐藏复选框可访问

如何使用 CSS 制作蜂窝状网格?

如何使用 :before 在 CSS 中为列表增加计数器

如何向弹出窗口添加 sanitize: false 选项?