2010-11-17 53 views
2

我想用这种方式切换变化:如何使用HTML/CSS精灵的图像和与jQuery

CSS

#sprite2 { 
    background: url(../images/csg_sprite.png) no-repeat top left; 
} 

.collapse_down{ background-position: 0 0; width: 16px; height: 16px; } 
.collapse_up{ background-position: 0 -66px; width: 16px; height: 16px; } 

HTML

<div id="sprite2"><span id="splink1" class="collapse_down">Defaults</span> 

CHANGE by jQuery

$('#splink1').attr("class", 'collapse_up'); 

我面临的问题是图像适用于div = sprite2,而不适用于我想要的范围。

如何解决在文本左侧显示精灵的问题,以及何时切换精灵以更改图像。

回答

1
.sprite2 { 
    background: url(../images/csg_sprite.png) no-repeat top left; 
    display:inline-block; 
} 

<div id="splink1" class="sprite2 collapse_down"></div>Defaults 

背景位置属性仅适用于包含添加背景图像的id或class。

+0

你不能使用类两次EHM,它应该是'类=” sprite2 collapse_down“' – tbleckert 2010-11-17 13:27:43

+0

嘿我已经改变了 – ArK 2010-11-17 13:29:00

+0

它开始工作,但不会浮在左边。我可以做些什么浮在左边,或者有一个新的html节点占据图像的确切空间。 – Pentium10 2010-11-17 13:37:26

1

倒也干脆:

#sprite2 { 
    background: url(../images/csg_sprite.png) no-repeat top left; 
} 

这样::

从此改变你的CSS

#sprite2 span { 
    background: url(../images/csg_sprite.png) no-repeat top left; 
} 
+0

它开始工作,但不漂浮在左侧。我可以做些什么浮在左边,或者有一个新的html节点占据图像的确切空间。另外,当我调用jQuery调用来更改类时,它不会更改图像。 – Pentium10 2010-11-17 13:34:46