|
|
1
10
底线
对于内容丰富的图像,您希望
对于内容较少的图像UI元素,特别是那些在整个站点中常见或重复的元素,一个直接的CSS解决方案将是最好的(因此您不必在每次调用时重新声明图像位置)。在CSS解决方案中,sprite是最好的,因为它们不需要预加载开销。 Javascript解决方案HTML格式:
在jQuery中:
示例实现: http://jsfiddle.net/dtPRM/1/ 好处: 这很简单;很有意义;一旦设置了库,它就可以使用最少的附加标记。 缺点: 需要Javascript和加载jQuery库的开销。
可能是最好的选择。
如果您的用户使用的浏览器与滚动相关(可能是这种情况),则他们具有运行此选项的Javascript功能。那些出于某种原因故意关闭Javascript的人,如果您稍微离开一点
CSS解决方案:最佳HTML格式:
CSS:
示例实现: http://jsfiddle.net/dtPRM/5/ 我个人认为,对于内容丰富的图像,这比CSS+two背景图像解决方案更糟糕。将HTML标记与显示的语义值分离。 不过,如果你使用的是像UI元素这样的无内容图像,这是我认为最好的解决方案。 CSS解决方案:也可以另一个不涉及背景图像的CSS选项是可用的(如果您希望在HTML中包含图像标记,比如语义上有意义的图像,则在CSS解决方案中首选)。
CSS(我使用
示例实现: http://jsfiddle.net/dtPRM/2/ 好处: 与以前将所有信息放入样式表的CSS解决方案相比,语义上是合理的。 缺点: 需要额外的标记。 评论: 这个可以根据浏览器是否调用它自动预加载。 底线: 如果选项(1)不可用,因为您绝对需要IE2兼容性或非JS支持,则可以进行适当的回退。 CSS解决方案:远离我提到这个只是因为你在问题中提到了它。我不会用的。 HTML格式:
CSS:
示例实现: http://jsfiddle.net/dtPRM/4/ 好处: 广泛兼容;您真正需要支持的是背景图像和悬停。 缺点: 把图像放在CSS中并集中在CSS中是很奇怪的。使将来的修改更加困难。也就是说,如果你有一个场景需要一个滚动图像,那么它很可能是一个非内容图像(例如,一个UI元素),在这种情况下,CSS在语义上(也许)甚至比普通图像更合适。请参阅下面关于精灵的注释。 其他缺点: 您必须小心地声明图像的高度和宽度(无论如何,这是一个很好的实践,但是当您只想完成任务时,它可能会变得很麻烦)。在移动浏览器上查看CSS背景图像的用户可能会异常。 更不利的是: 如果你想在上面放置一个预加载程序,你需要使用Javascript并以某种方式选择可滚动的元素,以这种速度,你也可以使用Javascript来处理所有事情。 底线: 不要将此用于内容丰富的图像。如果必须远离Javascript,则对UI元素使用sprites,对语义有意义的图像使用备用解决方案。 |
|
|
2
4
使用这样的图像:
注: 避免JS映像替换,因为如果以前未缓存映像,则会导致较短的映像加载时间。 希望这对兄弟有帮助! 西。 |
|
|
3
3
使用背景和“悬停”的CSS
使用CSS精灵,换句话说,将两个图像合并为一个,然后使用CSS
使用CSS的一个优点是即使JavaScript被关闭,它也能工作。 使用单个映像的一个优点是可以避免额外的HTTP请求。 见: http://css-tricks.com/css-sprites/ 帮助生成图像和CSS的工具: |
|
|
4
0
你应该用
|
|
|
5
0
CSS。尽管您可能希望使用javascript预处理图像。 |
|
|
6
0
使用“精灵”的图像滚动 List a part - sprites CSS |
|
|
7
0
在CSS中使用CSS精灵和:hover psuedo类。原因如下:
|
|
|
8
-1
或
|
|
|
code-geek · Jquery根据单选按钮选择隐藏或显示文本字段 10 月前 |
|
|
Niobos · 如何/是否有方法使通用算法函数同时与同步和异步函数一起工作? 10 月前 |
|
|
Alex · 在轻量级中同时解构和不解构变量 10 月前 |
|
|
Ângelo Rigo · ReactJS映射:如何迭代[关闭] 10 月前 |
|
|
bairog · 从按属性筛选的对象数组字典中创建值数组 11 月前 |
|
|
lokiuucx · JS对象属性返回未定义,尽管对象属性应该有值 11 月前 |