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

TOP > CSS > 【CSS】画像の上に重ねた斜めに傾けたカラーをスライドした後に画像を表示させるカーテンアニメーションの実装方法

【CSS】画像の上に重ねた斜めに傾けたカラーをスライドした後に画像を表示させるカーテンアニメーションの実装方法

この記事は2018年12月2日に公開した記事です。

現在とは状況が違う場合がありますのでご注意ください。

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

今回はカーテンアニメーションに関する内容です。画像の上に重ねた斜めに傾けたカラーをスライドした後に画像を表示させるカーテンアニメーションの実装方法を紹介します。

使いどころ

スクロールをして画像が見えたらアニメーションを実行させるのが一般的な使い方となります。

実装所要時間:10分程度
難易度:初心者コーダーでも実装可能

CSS,JavaScriptの記述内容

.block {
  position: relative;
  width: 768px;
  overflow: hidden;
  margin: 70px auto 0;
}

.block:after {
  content: '';
  display: block;
  position: absolute;
  top: -10%;
  left: -10%;
  width: 120%;
  height: 120%;
  background: #55310e;
  transform: rotate(5deg);
  transition: all 1.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
}

.active.block:after {
  transform: rotate(5deg) translateX(100%);
  transition: all 1.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0.8s;
}

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

実装のポイント

  • 1) imgタグを囲むdivに横幅とposition:relative;を指定
  • 2) divの:afterにスライドさせる背景色を指定。また、display: block;でブロック要素化。画像より大き目に覆い、top・leftにマイナスの値を指定して左上に設置する。
  • 3) divに.addClass()でクラスactiveを付与。クラスactiveが付与された:afterにtransform: rotate(5deg);で台形にする。translateX(100%)を指定して画像の右に移動させる
  • 4) transitionで台形の単色要素が右にスライドする動きをつける

スポンサーリンク