スクロールを促す時などに使える大きめの矢印。
css animationで上から下へ入れ替わるように動く矢印です。
<div class="cp_arrows">
<div class="cp_arrow"></div>
<div class="cp_arrow"></div>
<div class="cp_arrow"></div>
</div>
.cp_arrows {
position: relative;
display: flex;
justify-content: center;
align-items: center;
}
.cp_arrows .cp_arrow {/*矢印を配置するベースの設定*/
position: absolute;
width: 60px;
height: 10px;
opacity: 0;/*スタートは透明*/
transform: scale(0.3);/*スタートは30%に縮小*/
animation: arrow-move07 3s ease-out infinite;
}
.cp_arrows .cp_arrow:first-child {/*1秒ずらしてアニメーション*/
animation: arrow-move07 3s ease-out 1s infinite;
}
.cp_arrows .cp_arrow:nth-child(2) {/*2秒ずらしてアニメーション*/
animation: arrow-move07 3s ease-out 2s infinite;
}
.cp_arrows .cp_arrow:before,
.cp_arrows .cp_arrow:after {/*矢印全体の設定*/
position: absolute;
content: '';
top: 0;
left: 50%;
transform: translateX(-50%);
width: 50%;
height: 100%;
background: #2196f3;
border-radius: 2px;
}
.cp_arrows .cp_arrow:before {/*矢印左の線の位置と傾斜*/
left: 1px;
transform: skewY(30deg);
}
.cp_arrows .cp_arrow:after {/*矢印左の線の位置と傾斜*/
right: 1px;
transform: skewY(-30deg);
}
@keyframes arrow-move07 {
25% { opacity: 0.6;}
43% { transform: translateY(1em); opacity: 0.8;}
62% { transform: translateY(2em); opacity: 1;}
100% { transform: translateY(3em) scale(0.5); opacity: 0;}
}
CSS3などで新たに追加された要素・装飾方法など、日々コードを書いていないと忘れてしまったり、ささっとプロトタイプを作る時などちょっとしたことに時間をかけている暇はない。そんな時に「あ〜、あれストックしときゃよかったなぁ」って困った自分用のストックブログです。カスタマイズなどがしやすいよう、昨今のweb制作に取り入れられる一般的なコードを中心に掲載しています。
@CopypetJp More Info