使用CSS sprite进行图像的典型经验法则是,您只应该为较小的图像(如图标)进行操作,并且实际的图像内容应始终通过< img>元素.我的问题是:为什么?精神内容图像的优点还不是很好吗?
我读过的一个原因是能够使用alt文本,使得屏幕阅读器更具有语法正确性和可访问性.然而,当这是一个问题时,你不能轻易地使用一个单一的微小透明图像,所有的语法糖在精灵顶部,呈现出真实的视觉内容?
解决方法
你可以,但是:
>内容图像不像UI图形那样重复使用.想像一个报纸网站:如果每个故事中使用的每个内容图像都是一个精灵的一部分,那个精灵会很快变得巨大,即使是只看过一个故事的用户也可以下载.
>网站内容一般预期由不知道CSS的人员维护.希望内容编辑者编辑主sprite图像文件,重新保存到JPG,并弹出一些CSS只是为了在页面上放置图像是有点不合理的.
>如果你精灵大量的图像文件,sprite文件将会变得非常大.当用户首次访问该页面时,下载可能需要不可接受的长时间,否则可能会在最终看到精灵之一的图像的用户使用太多的带宽.
显然,这些是泛化 – 在特定的情况下,精简更大/更多的content-y图像可能是完美的.
使用< img>标签与一个小的透明图像文件的精灵,你可以做任何精灵图像 – 它通常有用的剪辑和定位精灵图像超出了什么背景位置允许.