【发布时间】:2015-07-05 20:17:20
【问题描述】:
我想在鼠标悬停时使用 css 或 javascript 使网页上的图像变亮。 我见过一些在样式中使用不透明度和过滤器的示例,但它们似乎对我不起作用。
提前致谢
CP
【问题讨论】:
-
如果您能以更具体的方式指定您已经尝试过的内容,将会很有帮助。
标签: javascript css
我想在鼠标悬停时使用 css 或 javascript 使网页上的图像变亮。 我见过一些在样式中使用不透明度和过滤器的示例,但它们似乎对我不起作用。
提前致谢
CP
【问题讨论】:
标签: javascript css
[更新]
纯 CSS 解决方案是使用 CSS filters:
img:hover {
filter: brightness(1.5);
}
在这里,我们为悬停时的所有图像添加 50% 的亮度。
为什么不呢?您始终可以将父容器的背景设置为#fff(白色),然后降低图像的不透明度。
HTML:
<div class="white">
<img src="image.jpg" alt="Image" />
</div>
CSS:
.white { background: #fff; }
img:hover {
opacity: 0.5;
filter: alpha(opacity=50);
}
另一种解决方案是使用 JavaScript 库,例如 Pixastic。
【讨论】:
您可以使用 CSS 精灵。创建图像的 2 个版本:一个正常,一个明亮,然后使用 Photoshop 或您使用的任何工具将它们组合成 1 个图像。
关于什么是 CSS sprite here 有一个很好的解释。
当然,这可能不是您可以在您的网站上使用的东西。例如,您可能不想在大图像上使用它(它们的大小会加倍)。例如,如果您想要增亮的图像来自外部来源或由用户上传,您也不能这样做。它适用于导航栏图像和其他 UI 元素等内容。
【讨论】:
我会用一些类似的东西:
filter: alpha(opacity=80);
opacity: 0.8;
据我所知,这是在 CSS 中实现它的唯一方法。这就是你所追求的吗?
【讨论】: