cssのanimationを使ったローディングサンプル。
4つの丸が離れたりくっついたりしながら回るローディングです。
<div class="cp_loading07">
<span></span>
<span></span>
<span></span>
<span></span>
</div>
.cp_loading07 {
position: absolute;
top: 50%;
left: 50%;
width: 40px;
height: 40px;
-webkit-transform: translate(-50%,-50%);
transform: translate(-50%,-50%);
}
.cp_loading07 span {
display: block;
position: absolute;
width: 50%;
height: 50%;
border-radius: 50%;
}
.cp_loading07 span:nth-child(1) {
top: 0;
left: 0;
-webkit-animation: loading07_mv1 3s cubic-bezier(.11,.75,.48,.94) infinite;
animation: loading07_mv1 3s cubic-bezier(.11,.75,.48,.94) infinite;
background-color: rgba(76,207,224,0.75);
}
.cp_loading07 span:nth-child(2) {
top: 0;
right: 0;
-webkit-animation: loading07_mv2 3s cubic-bezier(.11,.75,.48,.94) infinite;
animation: loading07_mv2 3s cubic-bezier(.11,.75,.48,.94) infinite;
background-color: rgba(174,213,129,0.75);
}
.cp_loading07 span:nth-child(3) {
bottom: 0;
left: 0;
-webkit-animation: loading07_mv3 3s cubic-bezier(.11,.75,.48,.94) infinite;
animation: loading07_mv3 3s cubic-bezier(.11,.75,.48,.94) infinite;
background-color: rgba(255,213,79,0.75);
}
.cp_loading07 span:nth-child(4) {
bottom: 0;
right: 0;
-webkit-animation: loading07_mv4 3s cubic-bezier(.11,.75,.48,.94) infinite;
animation: loading07_mv4 3s cubic-bezier(.11,.75,.48,.94) infinite;
background-color: rgba(240,98,146,0.75);
}
@-webkit-keyframes loading07_mv1 {
0% {
z-index: 10;
-webkit-transform: translate(0);
transform: translate(0);
}
25% {
-webkit-transform: translate(100%, 0);
transform: translate(100%, 0);
}
50% {
-webkit-transform: translate(100%, 100%);
transform: translate(100%, 100%);
}
75% {
z-index: 0;
-webkit-transform: translate(0, 100%);
transform: translate(0, 100%);
}
100% {
-webkit-transform: translate(0);
transform: translate(0);
}
}
@keyframes loading07_mv1 {
0% {
z-index: 10;
-webkit-transform: translate(0);
transform: translate(0);
}
25% {
-webkit-transform: translate(100%, 0);
transform: translate(100%, 0);
}
50% {
-webkit-transform: translate(100%, 100%);
transform: translate(100%, 100%);
}
75% {
z-index: 0;
-webkit-transform: translate(0, 100%);
transform: translate(0, 100%);
}
100% {
-webkit-transform: translate(0);
transform: translate(0);
}
}
@-webkit-keyframes loading07_mv2 {
0% {
-webkit-transform: translate(0);
transform: translate(0);
}
25% {
-webkit-transform: translate(0, 100%);
transform: translate(0, 100%);
}
50% {
z-index: 0;
-webkit-transform: translate(-100%, 100%);
transform: translate(-100%, 100%);
}
75% {
z-index: 10;
-webkit-transform: translate(-100%, 0);
transform: translate(-100%, 0);
}
100% {
-webkit-transform: translate(0);
transform: translate(0);
}
}
@keyframes loading07_mv2 {
0% {
-webkit-transform: translate(0);
transform: translate(0);
}
25% {
-webkit-transform: translate(0, 100%);
transform: translate(0, 100%);
}
50% {
z-index: 0;
-webkit-transform: translate(-100%, 100%);
transform: translate(-100%, 100%);
}
75% {
z-index: 10;
-webkit-transform: translate(-100%, 0);
transform: translate(-100%, 0);
}
100% {
-webkit-transform: translate(0);
transform: translate(0);
}
}
@-webkit-keyframes loading07_mv3 {
0% {
-webkit-transform: translate(0);
transform: translate(0);
}
25% {
z-index: 10;
-webkit-transform: translate(0, -100%);
transform: translate(0, -100%);
}
50% {
-webkit-transform: translate(100%, -100%);
transform: translate(100%, -100%);
}
75% {
-webkit-transform: translate(100%, 0);
transform: translate(100%, 0);
}
100% {
z-index: 0;
-webkit-transform: translate(0);
transform: translate(0);
}
}
@keyframes loading07_mv3 {
0% {
-webkit-transform: translate(0);
transform: translate(0);
}
25% {
z-index: 10;
-webkit-transform: translate(0, -100%);
transform: translate(0, -100%);
}
50% {
-webkit-transform: translate(100%, -100%);
transform: translate(100%, -100%);
}
75% {
-webkit-transform: translate(100%, 0);
transform: translate(100%, 0);
}
100% {
z-index: 0;
-webkit-transform: translate(0);
transform: translate(0);
}
}
@-webkit-keyframes loading07_mv4 {
0% {
-webkit-transform: translate(0);
transform: translate(0);
}
25% {
z-index: 0;
-webkit-transform: translate(-100%, 0);
transform: translate(-100%, 0);
}
50% {
z-index: 10;
-webkit-transform: translate(-100%, -100%);
transform: translate(-100%, -100%);
}
75% {
-webkit-transform: translate(0, -100%);
transform: translate(0, -100%);
}
100% {
-webkit-transform: translate(0);
transform: translate(0);
}
}
@keyframes loading07_mv4 {
0% {
-webkit-transform: translate(0);
transform: translate(0);
}
25% {
z-index: 0;
-webkit-transform: translate(-100%, 0);
transform: translate(-100%, 0);
}
50% {
z-index: 10;
-webkit-transform: translate(-100%, -100%);
transform: translate(-100%, -100%);
}
75% {
-webkit-transform: translate(0, -100%);
transform: translate(0, -100%);
}
100% {
-webkit-transform: translate(0);
transform: translate(0);
}
}
CSS3などで新たに追加された要素・装飾方法など、日々コードを書いていないと忘れてしまったり、ささっとプロトタイプを作る時などちょっとしたことに時間をかけている暇はない。そんな時に「あ〜、あれストックしときゃよかったなぁ」って困った自分用のストックブログです。カスタマイズなどがしやすいよう、昨今のweb制作に取り入れられる一般的なコードを中心に掲載しています。
@CopypetJp More Info