Safari 上的 CSS 背景图像相对路径 var() 未加载图像

Ale*_*lex 7 css safari relative-path css-variables

不确定是否有人遇到这个问题(我见过类似的问题,但不完全一样),但在 Mac OSX Safari 浏览器上,当您使用变量作为背景图像的相对图像位置时,会发生以下问题,它不会加载

:root {
  --lb3-widget-icon: url(../../images/logo-icon2.png);
}
.image-area {
  background-image: var(--lb3-widget-icon);
}
Run Code Online (Sandbox Code Playgroud)

以下是存在该问题的项目示例: https://codepen.io/alexbernotas/pen/dypLKvR

正如您所看到的,左上角蓝色区域上方的图像未加载,但在 Firefox 和 Chrome 上加载时没有任何问题,有什么想法吗?

在此输入图像描述

检查:

  • 苹果操作系统 11.2.1
  • Safari 14.0.3

我知道如果您使用完整的图像路径 URI 那么它会工作,但我需要让它与相对文件路径一起工作


编辑:

一个更简单的例子: https ://codepen.io/alexbernotas/pen/abpbVeG

A H*_*rth 5

这似乎是 Safari 的错误 - 在 IOS Safari (14.4) 中也可以看到。

我能找到的唯一解决方法是使用背景图像声明

background-image: var(--lb3-widget-icon);
Run Code Online (Sandbox Code Playgroud)

在主代码文件的样式元素中(将 png 定位在正确的相对位置)- var 仍然可以在 css 文件中设置。

这显然并不理想,但确实意味着您仍然可以使用具有相对文件夹路径的 CSS 变量来选择图像,尽管这意味着图像文件夹必须移动。