純粋なCSSで円環グラデーショントランジションロードアニメーションを実現
主に
効果図は以下の通りです.
CSS3
のlinear-gradient
の@keyframes
とborder-radius
などの属性から着手し、IE10
に互換性がある.box1 box2
はそれぞれ左右の2つのグラデーション半円で、結合すると全体のグラデーション円になり、box3
円の半径はやや小さく、グラデーション円全体に覆われ、背景は白色で、グラデーション円環の効果を生じる.効果図は以下の通りです.
HTML:
<div class='box'>
<div class="box1"></div>
<div class="box2"></div>
<div class="box3"></div>
</div>
CSS:
/* */
@keyframes moveover {
0% {transform:rotate(0deg);}
100% {transform:rotate(360deg);}
}
.box{ position:relative; width:100px; height:100px; /* */ animation:moveover 3s linear infinite; }
.box1{ position:absolute; width: 50px; height: 100px; border-radius:50px 0 0 50px; /* #999, #d0cfcf */ background: linear-gradient(#999, #d0cfcf); background-color: red; z-index:2; }
.box2{ position:absolute; width: 50px; height: 100px; border-radius:0 50px 50px 0; left:50%; /* #d0cfcf #eee */ background: linear-gradient(#eee,#d0cfcf); z-index:1; }
.box3{ position:absolute; width:92px; height:92px; top:4px; left:4px; border-radius:50%; background-color: #fff; z-index:2; }