純粋なCSSで円環グラデーショントランジションロードアニメーションを実現


主にCSS3linear-gradient@keyframesborder-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; }