あなたのキモチ つなげるカタチ

TOP > CSS > 【CSS】カーテンが開くように背景色を左右にスライドさせて画像を表示するアニメーションの実装方法/ Animation to display images by sliding the background color left and right

【CSS】カーテンが開くように背景色を左右にスライドさせて画像を表示するアニメーションの実装方法/ Animation to display images by sliding the background color left and right

スポンサーリンク

コーディングテクニックの実装内容

カーテンが開くように背景色を左右にスライドさせて画像を表示するアニメーションの実装方法を紹介します。

実装所要時間:10分程度

CSS,JavaScriptの記述内容

.block {
  position: relative;
  display: block;
  width: 700px;
  line-height: 0;
  margin: 50px auto 0;
}

.block:after,.block:before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  height: 102%;
  transition: transform 0.5s cubic-bezier(0.39, 0.575, 0.565, 1);
  background: #fff;
}

.block:before {
  width: 45%;
  left: -1%;
  transform-origin: left top;
}

.block:after {
  width: 65%;
  right: -1%;
  transform-origin: right top;
}
.active.block:before,.active.block:after {
  transform: scaleX(0);
}

@media screen and (max-width:640px){
  .block {
    width: 100%;
  }
}

実装のポイント

  • 1) imgタグを囲むdivに横幅とposition:relative;を指定
  • 2) divの:beforeにleft: -1%;を指定して画像の左側へ配置。divの:afterにright: -1%;を指定して画像の右側へ配置。
  • 3) divに.addClass()でクラスactiveを付与。クラスactiveが付与された:beforeと:afterをtransform: scaleX(0);で画像の端へ移動するように見せる。:beforeはtransform-origin: left top;で左方向へ、:afterはtransform-origin: right top;で右方向へ動かす

おすすめ記事

スポンサーリンク