コーディングテクニックの実装内容
今回はWeb制作におけるCSSアニメーションの中でカーテンアニメーションに関する内容です。画像の上に2分割して重ねた2つのカラーを上方向と下方向へお互いすれ違うようアニメーションした後に画像を表示させる方法を紹介します。@keyframesを使用したCSSアニメーションになります。
コーディングテクニックの使いどころ
スクロールをして画像が見えたらアニメーションを実行させるのが一般的な使い方となります。キービジュアルなど目立つ画像に対して実装するのも効果的です。
実装難易度・必要なスキル
コーディングとjQueryの基礎的な知識があれば実務未経験のコーダー、マークアップエンジニア、Webデザイナー、エンジニア、副業の初心者など誰でも実装可能です。
実装所要時間は10分程度
CSS,JavaScriptの記述内容
.block {
width: 768px;
overflow: hidden;
margin: 50px auto 0;
}
.box {
position: relative;
display: flex;
align-items: center;
width: 100%;
height: 100%;
}
.left,.right {
position: absolute;
top: 0;
display: block;
width: 50%;
height: 100%;
transition: transform 1s cubic-bezier(0.2, 1.1, 0.4, 1);
}
.left {
left: 0;
background: #000;
transform: translate3d(0, 100%, 0);
}
.right {
right: 0;
background: #ddd;
transform: translate3d(0, -100%, 0);
}
.active .left,.active .right {
transform: translate3d(0, 0, 0);
animation: anime 3s ease both;
}
.img {
transition: all 1.5s 1s;
opacity: 0;
}
.active .img {
opacity: 1;
}
@keyframes anime {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
@media screen and (max-width:640px){
.block {
width: 100%;
}
}
実装のポイント
- 1) imgタグを囲むdivに横幅とposition:relative;を指定
- 2) imgタグを囲むdiv内に左側をスライドさせる用のspanと左側をスライドさせる用のspanを記述。それぞれwidth: 50%を指定して画像に対して半々となるようにする
- 3) 左側のspanはtransform: translate3d(0, 100%, 0)で画像の下、右側のspanはtransform: translate3d(0, -100%, 0)で画像の上にセットしておく
- 4) divに.addClass()でクラスactiveを付与。クラスactiveが付与されたspanにtransform: translate3d(0, 0, 0)を指定することで左側の色は下から上。右側の色は上から下に動く。spanはanimationプロパティでopacity: 0にする
PR
法律をもっと身近にする話題のメディアサイト「法律ビッグバン」
アニメ・漫画の登場人物やゲームキャラクターの現在の年齢まとめ
TwitterやYouTube、TikTok、SNSで話題の猫(ネコ、ねこ)情報まとめ
TikTokで人気急上昇のTikToker(ティックトッカー)情報まとめ
スポンサーリンク
「【CSS】画像の上に2分割して重ねた2つのカラーを上方向と下方向へお互いすれ違うようアニメーションした後に画像を表示させる方法」への3件のフィードバック
コメントは受け付けていません。