CSSの画像URLを呼び出さずに、ホバー上のスプライト画像をフェードインできますか?CSSで画像URLを呼び出さずにスプライト画像をフェーディングする
私は2画像のスプライトシートを1トン持っています。私は各自がホバリングをオンにしたいのですが、 "background:url(x)"を持つすべての要素に対して新しい要素を作成する必要がある場合は、CSSが非常に膨らんでしまいます。
<div class="sprite frame">
</div>
Here's a JSFiddle of the effect I wantが、私はHTMLで画像のURLを呼びたいので、私は呼ん100個の異なるCSS要素を持っていない:
.frame {
height: 500px;
width: 500px;
overflow: hidden;
}
.sprite {
background: url(image.png) 0px 0px no-repeat;
position: relative;
height: 500px;
width: 500px;
}
.sprite::after {
content: "";
background: url(image.png) -500px 0px no-repeat;
opacity: 0;
transition: opacity 0.35s;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
.sprite:hover::after {
opacity: 1;
transition: opacity: 0.35s;
}
私はむしろ、ここでそれらを呼びたいです異なる画像。
。私は "オブジェクト位置"を使用してjQueryなしで同様のソリューションを実現しましたが、私はsuではありません基本的にスプライトシートをずらすだけで、不透明なトランジションを適用することができます。 可能であれば、CSS/HTMLのみでやりたいと思います。もしそうでなければ、私は他の何かを理解しなければならないでしょう。私はあなたに感謝します。あなたの答えは私にとって貴重です。 –