【发布时间】:2014-03-24 22:15:39
【问题描述】:
我曾经用<div> 来做CSS sprite,但实际上最好用<img> 来做,然后用display: block 或display: inline-block 将CSS 应用到它上面,这样在语义上更正确吗? (因为它实际上是一个图像)。
【问题讨论】:
-
CSS sprites 适用于背景图像,因为它们只是“装饰品”,而不是内容。恕我直言,将它们用于实际的内容图像没有多大意义——当语义是你所追求的时候。使用实际的图像元素至少可以让您提供
alt文本;但是 – 如果您将精灵图像直接嵌入到 img 元素的src的位置,则只有与clip属性结合使用才有意义;唯一的其他选择是使用“空白”图像并将精灵应用为背景图像...... -
… 如果 CSS 不可用,两者要么失去所有意义(背景图像),要么传递太多信息(以
src和clip给出的完整图像不工作)。 -
@CBroe 比如我只能想到stackoverflow.com/questions/22621944/…数字(3),如果是游戏,角色的图片是用CSS sprite显示的(比如记忆游戏)
-
好吧,对于游戏来说,情况可能会有所不同……第一个问题是,在这样的上下文中语义到底有那么重要吗?如果没有 JS 和 CSS,它可能无论如何都无法工作,无论记忆风格的游戏是否是 f.e.盲人用户(实际上可以从拥有一个真正的
img元素而不是在语义上“毫无意义”的只有背景图像的东西中受益)想要玩是值得怀疑的,我认为......
标签: html semantic-web css-sprites semantic-markup