0

我想知道哪种方式最好。

我有一些半透明的锚图像,它们在悬停时将完全透明的背景更改为半透明的红色背景:
在此处输入图像描述-> 在此处输入图像描述

雇主为我提供了每个图像的红色背景版本,但我当然不想使用它们,因为它将是总的带宽浪费。相反,我想

选择选项 1:使用 1 个通用图像在悬停时切换背景图像:
在此处输入图像描述

选项 2:使用 CSS3,但我不确定是否可能

顺便提一句。我已经阅读了很多关于 CSS sprites 的好意见,将网站上的整个图像定位转换为 sprite 时尚是一个好主意吗?还是仅推荐用于某些图像类型,例如锚点?

4

1 回答 1

2

当您的网站上到处都是零散的图像时,Sprites 是一个不错的选择,例如电子邮件、电话、服务等图标,您拥有的图像越多,http它创建的请求就越多,从而使您的网站效率低下。此外,使用 CSS Sprites,当您将按钮悬停时,它们不会产生故障,是的,显然只有第一次用户可能会遇到故障,但通常会产生不好的印象,您可以通过使用 CSS Sprites 来克服你将不得不改变background-position图像的。

来到按钮,如果你愿意,你可以简单地使用 CSS 精灵,将两个按钮状态放在一个画布上,然后使用属性使用它们,然后在悬停background-image时使用属性切换它们。background-position

另一方面,如果你想要的效果是可能的,你也可以使用 CSS3。通过查看图像,我认为甚至不需要 CSS3。如果这些不是真正的按钮,而真正的按钮是额外的花哨,CSS Sprites 将是一个很好的选择,因为 IE 会破坏你的 CSS3 按钮。

就透明度而言,您可以使用rgba()wherea代表不透明度。您还可以使用 CSS 过渡美化它们以获得更平滑的悬停效果。

如果您想快速了解 CSS Sprite 是什么以及如何使用它们,可以在此处阅读我的答案。

于 2013-08-16T10:03:07.457 回答