ホームページ  >  記事  >  ウェブフロントエンド  >  css+jsで縦回転切り替えスライドアニメーション効果を実現(コード付き)

css+jsで縦回転切り替えスライドアニメーション効果を実現(コード付き)

青灯夜游
青灯夜游オリジナル
2018-11-09 16:53:593486ブラウズ

この記事の内容は、CSS JS を使用して簡単なフェード スライド アニメーション効果を実現することです (コード付き)。必要な方は参考にしていただければ幸いです。

以下では、コードを使用してスライドの垂直方向の回転切り替えアニメーション効果を段階的に実装します。

1 HTML ファイルを作成し、デモを記述します。 まず、ページ上に div ボックスに含まれる画像のリストを設定する必要があります。以下に似ています:

<div id="stage">
	<div id="rotator" style="-webkit-animation-name: rotator; -moz-animation-name: rotator;">
		<a href="1.jpg"><img  src="img/1.jpg"    style="max-width:90%"  style="max-width:90%" alt="css+jsで縦回転切り替えスライドアニメーション効果を実現(コード付き)" ></a>
		<a href="2.jpg"><img  src="img/2.jpg"    style="max-width:90%"  style="max-width:90%" alt="css+jsで縦回転切り替えスライドアニメーション効果を実現(コード付き)" ></a>
		<a href="3.jpg"><img  src="img/3.jpg"    style="max-width:90%"  style="max-width:90%" alt="css+jsで縦回転切り替えスライドアニメーション効果を実現(コード付き)" ></a>
		<a href="4.jpg"><img  src="img/4.jpg"    style="max-width:90%"  style="max-width:90%" alt="css+jsで縦回転切り替えスライドアニメーション効果を実現(コード付き)" ></a>
		<a href="5.jpg"><img  src="img/5.jpg"    style="max-width:90%"  style="max-width:90%" alt="css+jsで縦回転切り替えスライドアニメーション効果を実現(コード付き)" ></a>
		<a href="6.jpg"><img  src="img/6.jpg"    style="max-width:90%"  style="max-width:90%" alt="css+jsで縦回転切り替えスライドアニメーション効果を実現(コード付き)" ></a>
		<a href="7.jpg"><img  src="img/7.jpg"    style="max-width:90%"  style="max-width:90%" alt="css+jsで縦回転切り替えスライドアニメーション効果を実現(コード付き)" ></a>
		<a href="8.jpg"><img  src="img/8.jpg"    style="max-width:90%"  style="max-width:90%" alt="css+jsで縦回転切り替えスライドアニメーション効果を実現(コード付き)" ></a>
	</div>
</div>

インライン スタイル @keyframes 属性は、以下のアニメーションを参照します。 JavaScript を使用してアニメーションを停止および再開できるように、CSS ではなくインラインである必要があります。

2. CSS を使用して画像をオーバーレイし、3D 空間に写真を配置します。

CSS スタイルは、写真が垂直方向に切り替わるように複数の写真を配置するために使用されます

3. アニメーション効果を追加

#3D 切り替え効果を実現#

  #stage {
    margin: 5em auto 1em 50%;
    height: 240px;
    -webkit-perspective: 1200px;
    -webkit-perspective-origin: 0 90px;
    -moz-perspective: 1200px;
    -moz-perspective-origin: 0 90px;
    -ms-perspective: 1200px;
    -ms-perspective-origin: 0 90px;
  }

  #rotator a {
    position: absolute;
    left: -151px;
    -moz-transform-style: preserve-3d;
  }
  #rotator a img {
    padding: 10px;
    border: 1px solid #ccc;
    background: #fff;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
  }

  #rotator a:nth-of-type(1) img {
    -webkit-transform: rotateX(-90deg) translateZ(100px);
    -moz-transform: rotateX(-90deg) translateZ(100px);
    -ms-transform: rotateX(-90deg) translateZ(100px);
  }
  #rotator a:nth-of-type(2) img {
    -webkit-transform: translateZ(100px);
    -moz-transform: translateZ(100px);
    -ms-transform: translateZ(100px);
  }
  #rotator a:nth-of-type(3) img {
    -webkit-transform: rotateX(90deg) translateZ(100px);
    -moz-transform: rotateX(90deg) translateZ(100px);
    -ms-transform: rotateX(90deg) translateZ(100px);
  }
  #rotator a:nth-of-type(n+4) { display: none; }

#4. JavaScript でアニメーション コントローラーを追加

##

  @-webkit-keyframes rotator {
    from { -webkit-transform: rotateX(0deg);  }
    to   { -webkit-transform: rotateX(90deg); }
  }
  @-moz-keyframes rotator {
    from { -moz-transform: rotateX(0deg);  }
    to   { -moz-transform: rotateX(90deg); }
  }
  @-ms-keyframes rotator {
    from { -ms-transform: rotateX(0deg);  }
    to   { -ms-transform: rotateX(90deg); }
  }

  #rotator {
    -webkit-transform-origin: 0 101px;
    -webkit-transform-style: preserve-3d;
    -webkit-animation-timing-function: cubic-bezier(1, 0.2, 0.2, 1);
    -webkit-animation-duration: 2s;
    -webkit-animation-delay: 1s;
    -moz-transform-origin: 0 101px;
    -moz-transform-style: preserve-3d;
    -moz-animation-timing-function: cubic-bezier(1, 0.2, 0.2, 1);
    -moz-animation-duration: 2s;
    -moz-animation-delay: 1s;
    -ms-transform-origin: 0 101px;
    -ms-transform-style: preserve-3d;
    -ms-animation-timing-function: cubic-bezier(1, 0.2, 0.2, 1);
    -ms-animation-duration: 2s;
    -ms-animation-delay: 1s;
  }
  #rotator:hover {
    -webkit-animation-play-state: paused;
    -moz-animation-play-state: paused;
    -ms-animation-play-state: paused;
  }

5. エフェクトの表示

##要約: 以上がこの記事の全内容です。皆様のお役に立てれば幸いです。学ぶことは役に立ちます。

おすすめ関連記事:css+jsで縦回転切り替えスライドアニメーション効果を実現(コード付き)

3次元立体回転無限カルーセルアニメーションを実現するcss

テキストを追加する方法CSS JSでスライドしますか?スライドの回転切り替えを実装

以上がcss+jsで縦回転切り替えスライドアニメーション効果を実現(コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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