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

TOP > CSS > 【CSS】画像の上を単色の要素がスライドするカーテンアニメーション(横方向)/CSS Curtain Sliding Background Color(side)

【CSS】画像の上を単色の要素がスライドするカーテンアニメーション(横方向)/CSS Curtain Sliding Background Color(side)

スポンサーリンク

実装内容

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

実装所要時間:10分程度

実装方法

.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%;
  }
}

【簡単な解説】
画像を囲むdivに横幅とposition:relative;を指定
divのafterにスライドさせる背景色をセット。
afterへはdisplay: block;でブロック要素にしておきます。
また、画像を全てを覆うためにwidth:100%;height:100%;を指定。
これで、画像の上を指定した背景色が完全に覆っている状態になります。
最後にafterへaddClassでactiveというクラスを付与して、width:0にするだけです。
transitionでアニーションを指定しているので、単色の要素が右にスライドするように見えます。

スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です