Web制作 × AI

【CSS】画像の上に重ねたカラーを右上から左下へ斜めスライドさせてから画像を表示するカーテンアニメーションの実装方法

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

今回はWeb制作におけるCSSアニメーションの中でカーテンアニメーションに関する内容です。画像の上に重ねたカラーを右上から左下へ斜線を引くように斜めスライドさせてから画像を表示するカーテンアニメーションをご紹介します。

コーディングテクニックの使いどころ

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

実装難易度・必要なスキル

コーディングとjQueryの基礎的な知識があれば実務未経験のコーダー、マークアップエンジニア、Webデザイナー、エンジニア、副業の初心者など誰でも実装可能です。

実装所要時間は15分程度

CSS,JavaScriptの記述内容

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

.block img {
  width: 100%;
}

.block:after {
  content: "";
  position: absolute;
  top: -100%;
  left: -100%;
  transform: skew(30deg);
  width: 205%;
  height: 205%;
  background: #fff;
}

.active.block:after {
  top: 350%;
  left: -350%;
  transition: all 1s cubic-bezier(.645, .045, .355, 1);
}

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

実装のポイント

  • 1) 画像を囲むdivにwidthとposition:relative;を指定
  • 2) divのafterへ斜めにスライドさせる背景色をセット。色は画像があるセクションの背景色を指定。:afterはdisplay: block;でブロック要素へ。画像サイズに対して余分に覆うためにwidthとheightを200%以上に指定
  • 3) :afterへaddClass()でクラスactiveを付与して、topとleftの位置を移動させる
  • 4) ポイントはtransform: skew(30deg)で台形のように要素を傾斜変形させること。transitionでアニメーションをつけて、topとleftの位置が変わるので斜めに動いているように見える。after:のtopとleft、widthとheightは画像の比率、サイズによって調整する必要がある
PR
[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

ChatGPT 120%活用術 [ ChatGPTビジネス研究会 ]
価格:1,390円(税込、送料無料) (2023/5/23時点)


この記事を書いた人(著者情報)

片山

カタチップ編集長。昭和生まれの30代でWeb業界歴は10年以上。現在はカタチップを運用しつつ事業会社でWEBメディアサイトのWebディレクター兼マークアップエンジニアを担当。最近はSNSの運用にも業務範囲を拡大中です。

著者画像

スポンサーリンク