ユーザーが要素にカーソルを合わせると要素が消える効果を作成しようとしています。以下のコードを試してみましたがdisplay:none;
、CSS が壊れているようです。CSS が機能しない理由と、問題を解決する方法を知りたいです。
<div class="foo">text</div>
.foo:hover {
color: red;
display: none;
}
ユーザーが要素にカーソルを合わせると要素が消える効果を作成しようとしています。以下のコードを試してみましたがdisplay:none;
、CSS が壊れているようです。CSS が機能しない理由と、問題を解決する方法を知りたいです。
<div class="foo">text</div>
.foo:hover {
color: red;
display: none;
}
代わりに要素の不透明度を変更してみてください: http://jsfiddle.net/XtmVQ/
.foo:hover {
opacity:0;
}
display:none の代わりにこれを試してください
visibility:hidden
@Richardが言ったように、不透明度を使用してください
また、逆方向にするには、次のようにします。
filter:alpha(opacity=0); /* For IE8 and earlier */
また、トランジションを追加することもできます:
transition: 0.5s
瞬時にならないように。
他の人が提案したことを行うことができますopacity: 0;
またはvisibility:hidden;
を使用しますが、ページの流れから隠す必要がある場合。次に、次の操作を行います。
次のような CSS を使用します。
.hidden{
display: none !important;
}
クラスhidden
を使用して、それを任意の要素に適用して非表示にすることができます。ホバー動作を実現するには、クラス名を適用するために JavaScript/jQuery が必要です。http://jsfiddle.net/rkH7F/を参照してください
これを試して:
.foo:hover {
opacity: 0;
}
これに対するあなたの最終的な意図は何ですか?
cssは動かないと思います。jqueryを使う
アップデート
ああ、悪い。css は機能しますが、jquery の方が効果的です。
$('#outer').mouseenter(function() {
$("#outer").hide();
}); $('#outer').mouseleave(function() {
$("#outer").show();
});
修繕
$('#outer').mouseenter(function() {
$("#outer").slideUp();
}); $('#outer').mouseleave(function() {
$("#outer").slideDown();
});