【发布时间】:2012-06-24 23:29:36
【问题描述】:
我一直在使用纯 css 处理翻转图像,我知道有两种解决方案可以达到预期的效果。我想知道这些方法是否有任何我不知道的好处,以及是否有首选方法或者只是一种偏好(我只是想在完成一个巨大的项目之前确保没有惊喜)
第一种方法
我遇到的第一种方法是将多个图像保存为一个图像。
然后将图像设置为分隔线的背景(小于整个图像)
然后在:hover 上,您将背景位置设置为负值并出现其他图像
我想到的一些缺点和优点是:
专业人士
-
您不需要手动预加载图像(通过将代码放在 css 文件的末尾)
-
可能会更容易组织您的图像文件,因为它们可能会更少
缺点
- 很难知道图像到底移动了多少,尤其是如果您有单独的团队设计图形
第二种方法
我遇到的第二种方法是设置分隔线的图像背景,然后更改:hover上的背景网址
我能想到的一些缺点和优点:
专业人士
-
开发时间可能更短
-
可以更轻松地交换翻转图像,无需指定分隔线的大小
缺点
-
需要在css文件末尾预加载图片
-
如果你有很多文件,你的图片文件夹可能会更乱
我有什么优点或缺点吗?一种方法通常优于另一种方法,为什么?还是个人选择,随便用一个都没问题??
更新: Here 是使用纯 css 的第二种方法的简单预加载的链接。我认为有一种更简单的方法(只是放置链接),但我找不到它。这仍然是非常基本的。
更新(2): 我了解到精灵有额外的
-
通过减少 http 请求的数量使网站更快的好处。
-
并且翻转的好处是尽可能快而没有闪烁
-
还有一个错误是使网站的可访问性降低,并且会限制 HTML 中 title 和 alt 属性的潜在好处。 (如果不正确地用于所有图像,而不仅仅是装饰和按钮)
【问题讨论】:
标签: css