1

どうかお元気で。画像ホバー時のポップを修正するにはどうすればよいですか? ゆっくりと大きくなる必要があります。ご覧のとおり、大きな画像がフェードします。

これをさらに説明するために、良い例を添付しました。ここに画像の説明を入力

ここで何か助けていただければ幸いです。Thx yummi

/*............ right-column ............*/

.right-column {
  position: absolute;
}


/*......... crossfade on buttons .........*/

#hover img {
  -o-transition: .3s;
  -ms-transition: .3s;
  -moz-transition: .3s;
  -webkit-transition: .3s;
  position: absolute;
}

.nohover {
  opacity: 0;
}

a:hover .hover {
  opacity: 0;
}

a:hover .nohover {
  opacity: 1;
}


/*................ bevels ................*/

img.bevel {
  border-radius: 20px;
}

img#bevel {
  border-radius: 20px;
}


/*............. pop on hover .............*/

#pop img {
  transition: .5s ease
}

#pop img:hover {
  -webkit-transform: scale(1.15);
  -ms-transform: scale(1.15);
  transform: scale(1.15);
  transition: 0.5s ease;
}
<div class="right-column" id="pop" align="center">
  <div>
    <a id="hover" href="gallery.html"><img src="http://wizzfree.com/pix/vid0.jpg" width="120" id="bevel" class="nohover"><img src="http://wizzfree.com/pix/vid0b.jpg" width="120" id="bevel" class="hover"></a>
  </div>

4

2 に答える 2

1

主な問題は、スケールが現在ホバーされている画像に適用され、ホバーされると消えることopacity: 0です。

scale変換とトランジションは、下のすべての画像に適用する必要がありますa#hover

注: CSS をクリーンアップしました。非常に古いブラウザーをサポートする必要がない限り、変換と遷移にブラウザーのプレフィックスは必要ありません。プレフィックスを追加する前に、ターゲット ブラウザを確認してください。

/*......... crossfade on buttons .........*/

.hover img {
  position: absolute;
  transition: all 0.5s ease;
}

.nohover {
  opacity: 0;
}

.hover:hover img {
  transform: scale(1.15);
}

.hover:hover .hover {
  opacity: 0;
}

.hover:hover .nohover {
  opacity: 1;
}

/*................ bevels ................*/

.bevel {
  border-radius: 20px;
}
<a class="hover" href="gallery.html">
  <img src="http://wizzfree.com/pix/vid0.jpg" width="120" class="nohover bevel">
  <img src="http://wizzfree.com/pix/vid0b.jpg" width="120" class="hover bevel">
</a>

IE をサポートする必要がない場合は、単一の画像とCSS ぼかしフィルターを使用して同じ効果を得ることができます。

/*......... crossfade on buttons .........*/

.hover img {
  position: absolute;
  transition: all 0.5s ease;
  filter: blur(3px);
}

.hover:hover img {
  transform: scale(1.15);
  filter: blur(0);
}

/*................ bevels ................*/

.bevel {
  border-radius: 20px;
}
<a class="hover" href="gallery.html">
  <img src="http://wizzfree.com/pix/vid0.jpg" width="120" class="bevel">
</a>

于 2020-09-22T21:13:49.757 に答える