【问题标题】:How to add a transparency layer using JS or CSS如何使用 JS 或 CSS 添加透明层
【发布时间】:2014-12-16 05:02:30
【问题描述】:

我有一个使用动态生成的外部(我无法控制此图像)来源图像的 DIV。它使用白色背景图像。我想即时将其转换为透明背景。

到目前为止,我使用 'opacity:0.5' 作为 CSS 规则以使其部分透明,但代价是使图像中显示的数据也透明。有没有更好的方法将白色像素更改为透明像素?

我不希望仅将 jquery 用于这一项任务,并且将此 div 重写为画布是不可取的,因为我将有问题的图像视为精灵图......所以我可以即时修剪它只显示所需的部分。

CSS: #localweather {left:336px; top:661px; width:267px; height:46px} #weatherbug {position:relative; margin:1.5px auto; border:1px solid black; height:27px; width:158px; border-radius:7px; opacity:0.5}

HTML:

<DIV CLASS='double' ID='localweather'> <P CLASS='header'>Local Weather</P> <DIV ID='weatherbug'></DIV> </DIV>

JavaScript(每秒调用一次函数以更新整个页面的内容 - 仅限相关部分):

document.getElementById('weatherbug').style.background = "url('http://weathersticker.wunderground.com/weathersticker/cgi-bin/banner/ban/wxBanner?bannertype=wu_simplewhite&amp;airportcode=KTTN&amp;ForcedCity=Princeton&amp;ForcedState=NJ&amp;zip=08540&amp;language=EN') repeat scroll -1px -24px transparent";

【问题讨论】:

  • 能否分享相关代码?
  • @LcSalazar:适当地编辑我的问题以显示当前使用的 CSS、JS 和 HTML。
  • 如果不进一步处理图像,就不可能做你想做的事。如果你能做到这一点,你可以轻松地使白色像素透明(如果它是 gif),或者使用 gd 库之类的东西在白色存在的地方添加 alpha 透明度。
  • @Phil_1984_:我也有同样的怀疑,但在确定超出语言能力之前,最好先咨询专家。
  • 好吧,我不会完全排除它。当然,它可以使用带有自定义浏览器插件的自定义过滤器来实现 :) 但我当然没有听说过任何本机实现它的东西。浏览器对过滤器的支持仍然很糟糕。 caniuse.com/#feat=css-filters

标签: javascript css html


【解决方案1】:

您可以使一个像素透明(使用 Photoshop 或其他软件)并在制作 div 后将 div 悬停以将您的像素作为背景重复进行遮罩 例如我已经使用它,您可以根据需要使用它:http://www.spar.fr/charte/base/fond_popUp.png

在你可以使用 css 悬停之后

【讨论】:

  • 这对我不起作用。我需要在浏览器环境中动态更改图像。外部源每小时更新一次此图像。
  • 在顶部添加一层透明度实际上不会有任何作用。我认为 OP 想让他的白色区域透明。
  • 好吧抱歉我没这么理解:) 所以你可以忽略我的回答
猜你喜欢
  • 2022-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-03
  • 2023-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多