私はEmlで少しゲームを作っています。私は視覚化のためにCSSを使用しています。 私はセルを持つグリッドを持っています、すべてクラスcell
を取得します。 しかし明らかに使用されるクラスselected
を持つものもあります。セルが選択されているのであれば、これはあなたが現在オーバーホバリングされているセル、および異なる1つに影を追加し複数のCSSセレクタのボックスシャドウを積み重ねて
.game .cell:hover {
box-shadow: inset 0 0 5px rgba(200, 50, 50, 1);
}
.game .cell.selected {
box-shadow: 0 0 5px rgba(50, 50, 200, 1);
}
:私は次のCSSを持っているユーザーにこれを可視化する今
、。 しかし、現在選択されているものの上にマウスを移動すると、「選択された影」だけが表示されます。
もちろんの簡単な修正では、これを追加することです:
.game .cell.selected:hover {
box-shadow: 0 0 5px rgba(50, 50, 200, 1), inset 0 0 5px rgba(200, 50, 50, 1);
}
は、その後、それは両方のために働くので、それは素晴らしいことです。 しかしそれは完璧ではありません。 ホバー効果を変更する場合は、選択したホバー効果を変更する必要があります。
データが重複しているので、私の質問は次のとおりです。データを複製せずに同じことを達成できますか?
注:可能であれば、純粋なCSSソリューション、SASSなどの余分なライブラリ(など)はありません。です。
あなたは多分jsfiddleまたはcodepenで、簡単なデモを投稿することができますか? –