/ / this.src = image1.srcで遷移する。 onmouseover on html - html、css、html5、css3

this.src = image1.srcで遷移します。 onmouseover on html - html、css、html5、css3

<img src="/images/images/home.png" onmouseover="this.src=image1.src;" onmouseout="this.src=image0.src;" id="imgHome">

私はこれらの2つのイメージにCSSトランジションを適用することができるので、瞬時に見ることはできません。

私はこのラインを使わずに、2枚の別々のイメージを作ることを検討していますが、私はこれを好む方法です。

回答:

回答№1は2

だからあなたは1人でそれをやりたい img タグ。あなたはそれを達成することができますバックグラウンドCSSプロパティを使用しています。

HTML:

<img id="image1">

CSS:

#image1
{
background: url("http://css3.bradshawenterprises.com/images/Turtle.jpg");
}

#image1:hover
{
background: url("http://css3.bradshawenterprises.com/images/Rainbow%20Worm.jpg");
}

img
{
height: 250px;
width: 500px;
-webkit-transition: background-image 1s ease-in-out;
}

JSFiddleの例: サンプルへのリンク


回答№2の場合は1

トランジションはCSSのプロパティを変更するためのものです。あなたがやっていることは、画像へのパスを変えることで、トランジションはできません。

たとえば、jQueryを使ってトランジションを行うことができます(jQにはいくつかの簡単なアニメーションがあります。 より高度なライブラリを使用してください)。

CSSを使用したい場合は、2(絶対的な位置決めを使用して)画像を互いに重ね合わせる。その後、ホバー上のボトム1の不透明度を1から0に変更し、1つを0から1の上に変更します。不透明度にトランジションを適用するとスムーズに移行するはずです。

<style>
.img{position:relative;}
.top{position:absolute;top:0;left:0;opacity:0;
-webkit-transition: opacity 1s ease-in-out;
-moz-transition: opacity 1s ease-in-out;
-ms-transition: opacity 1s ease-in-out;
-transition: opacity 1s ease-in-out;
}
.bottom{opacity:1;
-webkit-transition: opacity 1s ease-in-out;
-moz-transition: opacity 1s ease-in-out;
-ms-transition: opacity 1s ease-in-out;
-transition: opacity 1s ease-in-out;
}
.top:hover{opacity:1;}
.bottom:hover{opacity:0;}
</style>
<div class="img">
<img class="bottom" src="/images/http://placekitten.com/200/300?image=15">
<img class="top" src="/images/http://placekitten.com/200/300?image=16">
</div>

サンプル: http://jsfiddle.net/5kyBX/