奇怪的 CSS 投影错误仅在 Chrome 中?
Strange CSS drop-shadow bug in Chrome only?
在开发中的网站上看到一个非常奇怪的故障,带有大阴影。似乎只发生在 Chrome。当 window 重新调整大小时,故障将消失并重新出现。
url: https://w3stage.com/pok/order/
img: drop shadow issue
css:
.set-container {
background: #f7f7f7;
border-radius: 7px 7px 0 0;
padding: 30px;
text-align: center;
max-width: 900px;
margin: 0 auto;
width: 90%;
box-shadow: 0 70px 70px rgba(0,0,0,1);
display: flex;
align-items: center;
align-content: center;
}
编辑:我在 macOS 上,Chrome 版本 81.0.4044.138(官方构建)(64 位)
我设法在特定 window 尺寸下获得了相同的结果。
我试了一下,似乎解决这个问题的方法是从 .set-container
class 定义中删除 border-radius
定义。
我不确定它为什么起作用,但根据我的经验,阴影和边框半径有时会出现问题。您可以考虑重组该部分或仅删除 border-radius。
作为附加信息,我能够在以下位置重现该问题:
Chrome 83.0.4103.61 (64-bit)
Window size: 936 <= Width < 1200
and 701 < Height < 763
.
我不确定在你的案例中是否有关于这些尺寸的特定内容,但这就是我似乎得到额外阴影的地方。
更新
我确实测试了其他一些没有边界半径问题的东西(据我所知)。
我从 box-shadow
切换到 filter: drop-shadow
。最终结果是这一行:
filter: drop-shadow(0 70px 70px black);
它看起来与 box-shadow 规则有点不同,但确实有效,并且没有 border-radius 问题。
我也在 PC 上的 Chrome v86 和 iPad 上的 Chrome v86 中看到了这种偏差。我发现我可以通过从父 div 到我的图像(有投影)中消除 overflow: hidden
来可靠地使效果减半(嗯?)。
在开发中的网站上看到一个非常奇怪的故障,带有大阴影。似乎只发生在 Chrome。当 window 重新调整大小时,故障将消失并重新出现。
url: https://w3stage.com/pok/order/
img: drop shadow issue
css:
.set-container {
background: #f7f7f7;
border-radius: 7px 7px 0 0;
padding: 30px;
text-align: center;
max-width: 900px;
margin: 0 auto;
width: 90%;
box-shadow: 0 70px 70px rgba(0,0,0,1);
display: flex;
align-items: center;
align-content: center;
}
编辑:我在 macOS 上,Chrome 版本 81.0.4044.138(官方构建)(64 位)
我设法在特定 window 尺寸下获得了相同的结果。
我试了一下,似乎解决这个问题的方法是从 .set-container
class 定义中删除 border-radius
定义。
我不确定它为什么起作用,但根据我的经验,阴影和边框半径有时会出现问题。您可以考虑重组该部分或仅删除 border-radius。
作为附加信息,我能够在以下位置重现该问题:
Chrome 83.0.4103.61 (64-bit)
Window size:
936 <= Width < 1200
and701 < Height < 763
.
我不确定在你的案例中是否有关于这些尺寸的特定内容,但这就是我似乎得到额外阴影的地方。
更新
我确实测试了其他一些没有边界半径问题的东西(据我所知)。
我从 box-shadow
切换到 filter: drop-shadow
。最终结果是这一行:
filter: drop-shadow(0 70px 70px black);
它看起来与 box-shadow 规则有点不同,但确实有效,并且没有 border-radius 问题。
我也在 PC 上的 Chrome v86 和 iPad 上的 Chrome v86 中看到了这种偏差。我发现我可以通过从父 div 到我的图像(有投影)中消除 overflow: hidden
来可靠地使效果减半(嗯?)。