CSS box-shadow在Firefox和Chromium上呈现不同

时间:2013-07-04 08:46:14

标签: css google-chrome firefox css3

我正在考虑依赖box-shadow,但即使在Firefox和Chrome / Chromium上也会有所不同。差异非常微妙,价值较低,但较大的差异非常明显。

this example中,您可以看到使用负值使阴影变小时会出现差异。左渲染是Chromium 25,右边是Firefox 21。

HTML:

<div>
  Hello there!
</div>

CSS:

div{
  margin:100px;
  padding:100px;
  border:1px solid red;
  box-shadow:0 80px 15px -85px #000;
}

Differences with Chromium and Firefox, first example

如何解决此问题?或者我现在应该放弃box-shadow

2 个答案:

答案 0 :(得分:2)

浏览器使用不同的算法来生成阴影模糊,在Chrome中,阴影像素的不透明度从阴影区域的内边缘到外部更快地减少,并且因为阴影的内部1/3隐藏在框下在此示例中,它看起来看起来具有不同的起始颜色。如果我们通过将模糊半径和负展开距离减少5px使模糊完全可见,并用半透明rgba()替换实色阴影颜色,则渲染的差异变得不那么显着(demo

答案 1 :(得分:0)

尝试使用firefox的-moz-box-shadow属性,它会渲染得更好。

div{
  margin:100px;
  padding:100px;
  border:1px solid red;
  -moz-box-shadow: 0 80px 15px -85px #000;
  box-shadow:0 80px 15px -85px #000;
}