ホバー時に画像を通常から明るい画像に変更したい、私のコード:
<div class="nkhome">
<a href="Home.html"><img src="Images/btnhome.png" /></a>
</div>
.nkhome{
margin-left:260px;
top:170px;
position:absolute;
width:59px;
height:59px;
}
.nkhome a img:hover {
background:url(Images/btnhomeh.png);
position:absolute;
top:0px;
}
ホバーが機能しないのはなぜですか?マウスがその上にあるとき、ホバー画像ではなく最初の画像が表示されます。
a
タグを含むimg
タグがあります。それが通常の状態です。次に、ホバー状態としてbackground-image
を追加すると、a
タグの背景-img
タグの後ろに表示されます。
おそらくCSSスプライトを作成し、背景の位置を使用する必要がありますが、これにより開始できます。
<div>
<a href="home.html"></a>
</div>
div a {
width: 59px;
height: 59px;
display: block;
background-image: url('images/btnhome.png');
}
div a:hover {
background-image: url('images/btnhomeh.png);
}
これ 2004年のList Apart Article はまだ関連性があり、スプライトについての背景と、2つの異なる画像の代わりにスプライトを使用するのが良い理由を説明します。それは私があなたに説明することができる何よりもずっとよく書かれています。
画像の背景を別の画像に設定しています。これで問題ありませんが、フォアグラウンド(IMGのSRC属性)が他のすべてをオーバーレイします。
.nkhome{
margin-left:260px;
top:170px;
position:absolute;
}
.nkhome a {
background:url(Images/btnhome.png);
display:block; /* Necessary, since A is not a block element */
width:59px;
height:59px;
}
.nkhome a:hover {
background:url(Images/btnhomeh.png);
}
<div class="nkhome">
<a href="Home.html"></a>
</div>
単にこれ、余分なdivやJavaScriptは必要ありません、純粋なCSS( jsfiddle demo ):
[〜#〜] html [〜#〜]
<a href="javascript:alert('Hello!')" class="changesImgOnHover">
<img src="http://dummyimage.com/50x25/00f/ff0.png&text=Hello!" alt="Hello!">
</a>
[〜#〜] css [〜#〜]
.changesImgOnHover {
display: inline-block; /* or just block */
width: 50px;
background: url('http://dummyimage.com/50x25/0f0/f00.png&text=Hello!') no-repeat;
}
.changesImgOnHover:hover img {
visibility: hidden;
}
これはこのようには機能せず、両方の画像を背景画像として配置します。
.bg-img {
background:url(images/yourImg.jpg) no-repeat 0 0;
}
.bg-img:hover {
background:url(images/yourImg-1.jpg) no-repeat 0 0;
}
こんにちは、親の位置を相対的、子を絶対にし、このように絶対クラスに高さまたは幅を与える必要があります
Css
.nkhome{
margin-left:260px;
width:59px;
height:59px;
margin-top:170px;
position:relative;
z-index:0;
}
.nkhome a:hover img{
opacity:0.0;
}
.nkhome a:hover{
background:url('http://www.prelovac.com/vladimir/wp-content/uploads/2008/03/example.jpg');
width:100px;
height:100px;
position:absolute;
top:0;
z-index:1;
}
[〜#〜] html [〜#〜]
<div class="nkhome">
<a href="Home.html"><img src="http://dummyimage.com/100/000/fff.jpg" /></a>
</div>
ライブデモ http://jsfiddle.net/t5FEX/7/
またはこれ
<div class="nkhome">
<a href="Home.html"><img src="http://dummyimage.com/100/000/fff.jpg" onmouseover="this.src='http://www.prelovac.com/vladimir/wp-content/uploads/2008/03/example.jpg'"
onmouseout="this.src='http://dummyimage.com/100/000/fff.jpg'"
/></a>
</div>
以下に簡単な手順を紹介し、ホバーチュートリアルで素晴らしい例を紹介します。
http://fivera.net/simple-cool-live-examples-image-hover-css-effect/
問題の正確な解決策
content:url( "YOUR-IMAGE-PATH");を使用して、ホバーの画像を変更できます。
画像ホバーの場合、CSSで以下の行を使用します。
img:hover
img:hover内の以下の設定を使用してホバーの画像を変更するには:
img:hover{
content:url("https://www.planwallpaper.com/static/images/9-credit-1.jpg");
}