あなたはCSSだけでこれを取り除くことはできません。それはthere's no previous sibling selector in CSSです。
だから、このマークアップを与えられた:
div[id^="box"]:hover ~ div[id^="box"] {
//blurry stuff
}
しかし、あなたが#box2
または#box3
を置くと何が起こる:このようなセレクタで#box1
をホバリングするときには、#box2
と#box3
を選択することができ
<div class="container">
<div id="box1" class="card">
<h1>one</h1>
<p>some text here</p>
</div>
<div id="box2" class="card">
<h1>two</h1>
<p>some text here</p></div>
<div id="box3" class="card">
<h1>three</h1>
<p>some text here</p></div>
</div>
?カーソルを移動する前にボックスを変更することはできません。
デフォルトでは後方を考えてぼかしを入れて、単純な:hover
セレクタを実行して、ホバリングしているものをぼかすことができます。そうすれば、ホバリングしていないもので終わることがありますが、ホバリングしていないときにボックスが正常に見えないので、あなたが望むものではありません。
ここでは、jQueryの.not()を使用して動作するアプローチの簡単な例を示します。必要に応じて、CSSを関数に入れるのではなく、クラスを切り替えてぼかしを行うことができます。
$(function(){
var boxes = $('div[id^="box"]');
$(boxes).on('mouseenter', function(){
$(boxes).not($(this)).css('background-color', 'red');
}).on('mouseleave', function(){
$(boxes).css('background-color', 'initial');
});;
});
.container {
width: 100%;
margin: 0 auto;
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: space-between;
}
.card {
border: solid black 1px;
padding: 20px;
-webkit-box-shadow: 10px 10px 5px 0px rgba(0,0,0,0.75);
-moz-box-shadow: 10px 10px 5px 0px rgba(0,0,0,0.75);
box-shadow: 10px 10px 5px 0px rgba(0,0,0,0.75);
}
body {
margin: 0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
<div id="box1" class="card">
<h1>one</h1>
<p>some text here</p>
</div>
<div id="box2" class="card">
<h1>two</h1>
<p>some text here</p></div>
<div id="box3" class="card">
<h1>three</h1>
<p>some text here</p></div>
</div>
最後の注意:お使いのヘッダータグを修正してください。ヘッダー2と3の場合、開始タグは<h1>
ですが、終了タグは</h2>
です。
あなたの質問にコードを追加する必要があります。それに加えてCodepenリンクを追加することもできますが、偽のコードとしてリンクを投稿するだけで質問を投稿するためのコード要件を回避しようとはしません。おそらくなぜあなたがdownvotedになっているのだろう。 – cjl750
未処理の編集要求のため投稿を編集できませんが、質問自体にコードを追加してください(Stack OverflowにはCodePenに非常に似たサンドボックスが組み込まれています)。 –