私が正しく理解している場合、これはあなたがやろうとしていることです:
<div id="empty">
<img class="stars empty" src="http://cdn1.iconfinder.com/data/icons/icojoy/noshadow/standart/gif/24x24/001_17.gif">
</div>
<div id="half">
<img class="stars empty" src="http://cdn1.iconfinder.com/data/icons/icojoy/noshadow/standart/gif/24x24/001_17.gif">
<img class="stars half" src="http://cdn1.iconfinder.com/data/icons/icojoy/noshadow/standart/gif/24x24/001_16.gif">
</div>
<div id="full">
<img class="stars empty" src="http://cdn1.iconfinder.com/data/icons/icojoy/noshadow/standart/gif/24x24/001_17.gif">
<img class="stars half" src="http://cdn1.iconfinder.com/data/icons/icojoy/noshadow/standart/gif/24x24/001_16.gif">
<img class="stars starfull" src="http://cdn1.iconfinder.com/data/icons/icojoy/shadow/standart/png/24x24/001_15.png">
</div>
各ケースを div で囲みました。試している方法で画像を重ねるには、絶対位置を割り当てる必要があります。次に、それがどのように機能するかを示す高速な CSS を示します。
div {
position:relative;
height:2em;
}
.stars {
position:absolute;
top:0;
left:0;
}
これがあなたがやろうとしていたことであることを願っています。これは、任意の種類の html タグ要素に適用でき、10 回、100 回 =) 必要な回数だけ適用できます。
編集:
あなたの質問とすべてのコメントをもう一度読みました...そして、背景を変更したり、html要素を重ねる代わりに背景を重ねたりするだけで、これを簡単に行うことができると思います。上記のコードを使用して、フィドルで何を意味するかを説明しました:http://jsfiddle.net/38vHj/
とにかく、JavaScript(またはphp、または情報を処理したい場所)でクラスを交換する方がはるかに簡単です...そして、特定のcssクラスセレクターを使用します。
最終的な解決策:
そうです... html タグ要素を重ねることができます! 何度も行ったり来たりした後、私はあなたが望むものを正確に書き、それをフィドルに投稿しました:jsfiddle.net/ddXDp/2
したがって、最終結果は、半星要素の下に空の星要素が追加されます。あとは、必要に応じて要素を配置してスタイルを設定するだけです =)