私はマウスでホバリング、それは他のボタンを表示し、選択ボックスの領域の外側にハイライト効果を持つことになります場合は、以下の概念のようなボックスを作っています: CSSで選択範囲外にハイライト効果を追加する方法はありますか?
私は外でハイライト効果を追加するには、それを達成することができ、どのようにちょうど純粋なCSSまたはjQueryの選択ボックスの領域?
私はマウスでホバリング、それは他のボタンを表示し、選択ボックスの領域の外側にハイライト効果を持つことになります場合は、以下の概念のようなボックスを作っています: CSSで選択範囲外にハイライト効果を追加する方法はありますか?
私は外でハイライト効果を追加するには、それを達成することができ、どのようにちょうど純粋なCSSまたはjQueryの選択ボックスの領域?
(jQueryを使って)解決策1:
HTML:(この例のみのため)
<div class="box">text</div>
<div class="box">text</div>
<div class="box">text</div>
<div class="box">text</div>
CSS:
.box{
transition:.3s;
background: #fff;
text-align: center;
padding: 2%;
margin: 2%;
width: 17%;
float: left;
}
.box.fade{
opacity: 0.3;
transition: .3s;
}
のjQuery:
$('.box').on('mouseenter', function() {
$('.box').not($(this)).addClass('fade');
});
$('.box').on('mouseleave', function() {
$('.box').not($(this)).removeClass('fade');
});
の作業例:https://jsfiddle.net/k71fqn4o/1/
ソリューション2(純粋なCSS):
あなたはこのソリューションを使用することができますので、あなたのボックスのコンテナを持っている場合は、しかしソリューション1はより安全です。
HTML:(この例のみのため)
<div class="container">
<div class="box">text</div>
<div class="box">text</div>
<div class="box">text</div>
<div class="box">text</div>
</div>
CSS:
.box{
transition:.3s;
background: #fff;
text-align: center;
padding: 2%;
margin: 2%;
width: 17%;
float: left;
}
.container:hover .box{
opacity: 0.3;
transition: .3s;
}
.box:hover{
opacity: 1 !important;
}
CSSで ':hover'が利用できるときにJSを使う理由は? –
@RoryMcCrossanホバーでは、他の要素にアクセスすることはできません。この場合は、クラスを他の要素に追加するためにjsを使用する必要があります。 –
@RoryMcCrossan純粋なCSSで別のソリューションを追加します。 –
box-shadow
CSSプロパティ(および関連するベンダープレフィックス)を使用してハイライトエフェクトを実現できます。その他の要素は、:hover
擬似セレクタとanimate
ルールを使用して消えることもできます。これを試してみてください:
div {
width: 150px;
height: 150px;
background-color: #EEE;
border: 1px solid #EEE;
border-radius: 5px;
transition: border, box-shadow 0.2s;
padding: 5px;
}
div button {
opacity: 0;
transition: opacity 0.2s;
}
div:hover {
border-color: #66afe9;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, .6);
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, .6);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, .6);
}
div:hover button {
opacity: 1;
}
<div>
<button>Foo</button>
</div>
@ZainFarooqその単純ではないようなあなたが – user3077416
モハマド・レザがそれに答えと思いますか結構。あなたは彼の投稿からの助けを得ることができます –