CSS:在图像周围创建白光

Posted

技术标签:

【中文标题】CSS:在图像周围创建白光【英文标题】:CSS: create white glow around image 【发布时间】:2011-09-19 08:23:57 【问题描述】:

如何创建白光作为未知尺寸图像的边框?

【问题讨论】:

【参考方案1】:

使用简单的 CSS3(IE

img

    box-shadow: 0px 0px 5px #fff;

这会在您文档中的每张图片周围发出白光,使用更具体的选择器来选择您希望在哪些图片周围发出白光。你当然可以改变颜色:)

如果您担心没有最新版本浏览器的用户,请使用:

img

-moz-box-shadow: 0 0 5px #fff;
-webkit-box-shadow: 0 0 5px #fff;
box-shadow: 0px 0px 5px #fff;

对于 IE,您可以使用发光滤镜(不确定哪些浏览器支持它)

img

    filter:progid:DXImageTransform.Microsoft.Glow(Color=white,Strength=5);

玩一下设置,看看什么适合你:)

【讨论】:

我觉得这个只支持 IE 9+,只要加:<meta http-equiv="X-UA-Compatible" content="IE=9" /> 就可以在 IE9 和 IE10 中渲染页面为 IE9 版本 请注意,过滤器在几个元素中具有意外行为。将其应用于字段集并感到惊讶。此外,它可能会泄漏到子元素。它会显示带有可怕黄色条的页面的 ActiveX 警告。只是避免它。为 IE 添加一个扁平的浅灰色阴影并完成。 不适用于透明图像。像一个圆形的 png 标志。 @SantoshKumar,不,它没有,因为 box-shadow 不可能知道 png 的不透明像素在哪里。它只影响 html 元素,即 元素本身,而不影响内容。 @Kyle drop-shadow 可以:)【参考方案2】:

像魅力一样工作!

.imageClass 
  -webkit-filter: drop-shadow(12px 12px 7px rgba(0,0,0,0.5));

瞧!而已!显然这在 ie 中不起作用,但谁在乎......

【讨论】:

投反对票; -webkit-filter 不是 CSS 属性,在任何情况下都只支持 webkit 浏览器 - 你最好也添加一个非前缀版本,可能还有 -moz-、-ms- 和 -o- 前缀,应该是 mozilla、Microsoft 还是 Opera(此时 Opera 12 仍在流通中......) 赞成。作为一个非标准的财产并不意味着它毫无用处。在某些用例中,您不需要支持除 webkit 之外的任何东西。这个答案对我有帮助,在我的情况下,-webkit-filter 效果看起来比 box-shadow 更合适。 这是最好的答案,因为它会阴影内容而不是容器【参考方案3】:

@tamir;你可以用 css3 属性来做。

img
-webkit-box-shadow: 0px 0px 3px 5px #f2e1f2;
-moz-box-shadow: 0px 0px 3px 5px #f2e1f2;
box-shadow: 0px 0px 3px 5px #f2e1f2; 

检查小提琴http://jsfiddle.net/XUC5q/1/ & 你可以从这里生成http://css3generator.com/

如果您需要它在旧版本的 IE 中工作,您可以使用 CSS3 PIE 在这些浏览器中模拟 box-shadow 并且您可以使用 filter 就像 kyle 所说的那样

filter:progid:DXImageTransform.Microsoft.Glow(color='red', Strength='5')

你可以从这里生成你的过滤器http://samples.msdn.microsoft.com/workshop/samples/author/filter/Glow.htm

【讨论】:

你不再需要 moz 和 webkit 前缀,这些浏览器的最新版本支持box-shadow :) @kyle;我知道,但它不适用于 Mozilla beta 之前的早期版本。 @Kyle - 如果你想支持旧版本的用户? (还有一些) @kyle;可能你必须更新你的答案,因为有很多人没有更新 mozilla。【参考方案4】:

取决于您的目标浏览器是什么。在较新的版本中,它是as simple as:

   -moz-box-shadow: 0 0 5px #fff;
-webkit-box-shadow: 0 0 5px #fff;
        box-shadow: 0 0 5px #fff;

对于较旧的浏览器,您必须实施解决方法,例如,基于 on this example,但您很可能需要额外的标记。

【讨论】:

【参考方案5】:

在这里聚会迟到了;但是只是想增加一点额外的乐趣..

box-shadow: 0px 0px 5px rgba(0,0,0,.3);
padding:7px;

会给你一个漂亮的填充图像。填充将为您提供模拟的白色边框(或您设置的任何边框)。 rgba 只是允许您对特定颜色进行可视化; 0,0,0 为黑色。您可以轻松地使用任何其他 RGB 颜色。

希望这对某人有所帮助!

【讨论】:

【参考方案6】:

你可以使用 CSS3 来创建这样的效果,但是你只会在支持盒子阴影的现代浏览器中看到它,除非你使用像 CSS3PIE 这样的 polyfill。因此,例如,您可以执行以下操作:http://jsfiddle.net/cany2/

【讨论】:

以上是关于CSS:在图像周围创建白光的主要内容,如果未能解决你的问题,请参考以下文章

CSS/HTML:在输入字段周围创建发光边框

如何使用 css 在我的文本周围创建边框 [重复]

Java - 从图像周围的边框创建形状

HTML 在图像周围环绕文本 - HTML / CSS

如何在 iframe 周围创建边框?

css 此代码将删除WordPress库图像周围的边框,并将布局模型更改为CSS flexbox。