ホームページ  >  記事  >  ウェブフロントエンド  >  JS+CSS3 はマウスと画像間のインタラクティブな拡大効果を実現します

JS+CSS3 はマウスと画像間のインタラクティブな拡大効果を実現します

php中世界最好的语言
php中世界最好的语言オリジナル
2018-05-12 15:43:562131ブラウズ

今回は、マウスと画像の間のインタラクティブな拡大効果を実現するための JS + CSS3 について説明します。 JS + CSS3 がマウスと画像の間のインタラクティブな拡大効果を実現するために使用できる注意事項は次のとおりです。実際のケースを見てみましょう。

今日、NetEaseのWebサイトを見ていたら、マウスを置くと画像が拡大され、遠ざかると縮小されることがわかりましたので、自分で試してみた結果は次のとおりです。

方法 1: js と css3 を使用します

効果は図に示すとおりです:

この実装は非常に簡単で、js の

mouseovermouseout イベントを使用するだけですが、途中でズームインして後でもう一度試してみる方法がわかりません。コードは次のとおりです:

<!DOCTYPE html>
<html>
<head>
  <title>网易图片动画</title>
  <style>
    p.img {
      width: 220px;
      height: 170px;
      margin: 200px auto;
      overflow: hidden;
    }
    img.bigger {
      width: 100%;
      height:100%;
    }
    @keyframes bigger {
      from {width: 100%;height: 100%;}
      to {width: 110%; height: 110%;}
    }
    @keyframes smaller {
      from {width: 110%;height: 110%;}
      to {width: 100%; height: 100%;}
    }
  </style>
</head>
<body>
  <p class="img">
    <img class="bigger" src="http://cms-bucket.nosdn.127.net/d9b6afa0bad743f88c1780c3a064202c20170218074455.jpeg?imageView&thumbnail=185y116&quality=85" alt="">
  </p>
  <script>
    var img = document.querySelector("img");
    img.onmouseover = function () {
      img.style.cssText = "animation: bigger 2s;width:110%; height:110%;";
    }
    img.onmouseout = function () {
      img.style.cssText = "animation: smaller 2s";
    }
  </script>
</body>
</html>

方法 2: css3 メソッドを使用します

css3 は確かに私たちをもたらしてくれました。多くのメリットがあり、問題への対処が容易になります。 これは

を使用することで実現できますが、これはホバーと組み合わせて使用​​する必要があり、トランジションの継続時間はより良い結果を達成するために設定されています。これ以上説明することなく、効果は次のようになります。はい、それ自体を見ることは中心から拡大することです。 transform:scale();しかし、

transform-origin

属性を追加する限り、次のように変更の中心点を適切に制御できます。

transform-origin: 0 0;
transform-origin: 100% 0;
transform-origin: 0 100%;
transform-origin: 100% 100%;
は、左上隅、右上隅、左下隅、および下隅からの拡張を意味しますご想像のとおり、デフォルトの

transform-origin
は 50% 50% です。 ソース コードは次のとおりです:

<!DOCTYPE html>
<html>
<head>
  <title>网易图片动画</title>
  <style>
    p.img {
      width: 220px;
      height: 170px;
      margin: 200px auto;
      overflow: hidden;
    }
    img.bigger {
      width: 100%;
      height:100%;
      transition:transform 2s;
    }
    img.bigger:hover{
      transform: scale(1.2,1.2);
    }
  </style>
</head>
<body>
  <p class="img">
    <img class="bigger" src="http://cms-bucket.nosdn.127.net/d9b6afa0bad743f88c1780c3a064202c20170218074455.jpeg?imageView&thumbnail=185y116&quality=85" alt="">
  </p>
</body>
</html>

この記事のケースを読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事にご注目ください。 推奨読書:

Angularテンプレート駆動型フォームメソッドの詳細な説明

Vueプロジェクトのグローバル設定WeChat共有ステップ手順

以上がJS+CSS3 はマウスと画像間のインタラクティブな拡大効果を実現しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。