【发布时间】:2014-03-18 16:57:34
【问题描述】:
我正在尝试使用 CSS3 (webkit) 阴影滤镜在任何给定的透明 png 周围放置一个白光,尺寸大致相同,-webkit-filter: drop-shadow(0px 0px 22px rgba(255,255,255,0.8)); 非常适合纯色图像。问题在于它会严重破坏主要是文本的图像。所有阴影混合在一起,而不是创建适当的紧密发光效果。
我需要能够使用散布而不是模糊,这样阴影就不会只是在某些文本后面变成一个大斑点,但显然标准规定you should be able to specify a spread property, you still can't。
我听说可以使用 SVG 投影过滤器来实现与投影相同的效果(实际上必须在 Firefox 中使用),但我一直无法找到应用扩展属性的方法也可以。
对于这个问题有哪些解决方法(如果有的话)?
【问题讨论】:
-
我建议不要使用图像作为文本。使用实际文本,然后使用
text-shadow。这也有利于 SEO。 -
我得到了相当复杂的徽标来应用这些阴影,通常是几种不同字体的组合,有时还覆盖了其他图像。尽管它会更好,但在 HTML 中重新创建它们不是一种选择。仅将阴影烘焙到 png 中(尽管这是我的第一个响应)也不是一种选择。
-
我编写了一个 codepen 工具来帮助人们使用 SVG 滤镜进行高级阴影操作 - 享受 codepen.io/mullany/details/sJopz
-
它实际上还不是标准的一部分,w3.org/TR/filter-effects-1/#funcdef-drop-shadow
Note that spread values or multiple shadows are not accepted for this level of the specification.