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

TOP > CSS > 【CSS】画像の上でカーテンを片開きするようにカラーをスライドさせるカーテンアニメーション(横方向)/CSS Curtain Sliding Background Color(side)

【CSS】画像の上でカーテンを片開きするようにカラーをスライドさせるカーテンアニメーション(横方向)/CSS Curtain Sliding Background Color(side)

スポンサーリンク

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

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

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

正式名称は不明ですが、画像の上でカーテンを片開きするようにカラーをスライドさせるアニメーションを紹介します。最近、よく見かけますが、スクロールをして画像が画面内に入ったら発火するタイプのものが多い印象です。

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

CSS,JavaScriptの記述内容

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

.block img {
  width: 100%;
}

.block:after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  background: #55310e;
  transition: width 1.5s cubic-bezier(0.25, 1, 0.25, 1);
}

.active.block:after {
  width: 0;
}

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

実装のポイント

  • 1) imgタグを囲むdivに横幅とposition:relative;を指定
  • 2) divの:afterにスライドさせる背景色を指定。また、display: block;でブロック要素化、width:100%;height:100%;を指定して画像を全てを覆う
  • 3) divに.addClass()でクラスactiveを付与。クラスactiveが付与された:afterにwidth:0を指定
  • 4) transitionで単色の要素が右にスライドする動きをつける

スポンサーリンク