Kenarlıklı bir daire çizmeye çalışıyorum ve canlandırın. Bunu yapabilirim, ama yapamayacağım şey, maskeyi gizlemeden, elemanların üst üste bindirilmesi ve çevrelerin arka planını saydamlaştırmaktır. Bunu, elemanlar üzerinde şeffaf hale getiremiyorum çünkü maske, etkiyi taklit etmek için dönerken dairenin sol yarısını gizlemek için uygulanmalıdır.CSS SADECE Kenarlık yarıçapı ve saydam arka planlı Draw Circle (Animasyon Çizgisi) Animasyon
HTML
<div class="background">
<div class="wrapper">
<div class="pie spinner"></div>
<div class="pie filler"></div>
<div class="mask"></div>
</div>
</div>
CSS benim örnekte
.background{
background:green;
z-index: 1000;
}
.wrapper {
width: 250px;
height: 250px;
position: relative;
margin: 40px auto;
background: rgba(0,0,255,1);
}
.wrapper, .wrapper * {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.wrapper .pie {
width: 50%;
height: 100%;
transform-origin: 100% 50%;
position: absolute;
background: transparent;
border: 5px solid rgba(0,0,0,0.9);
}
.wrapper .spinner {
border-radius: 100% 0 0 100%/50% 0 0 50%;
z-index: 0;
border-right: none;
-webkit-animation: rota 5s linear infinite;
}
.wrapper:hover .spinner,
.wrapper:hover .filler,
.wrapper:hover .mask {
animation-play-state: running;
}
.wrapper .filler {
border-radius: 0 100% 100% 0/0 50% 50% 0;
left: 50%;
opacity: 0;
-webkit-animation: opa 5s steps(1, end) infinite reverse;
border-left: none;
}
.wrapper .mask {
width: 50%;
height: 100%;
position: absolute;
background: inherit;
opacity: 1;
-webkit-animation: opa 5s steps(1, end) infinite;
}
@-webkit-keyframes rota {
0% {transform: rotate(0deg);border-color:red;}
100% {transform: rotate(360deg);z-index:0;}
}
@-webkit-keyframes opa {
0% {opacity: 1;}
50%, 100% {opacity: 0;}
}
http://jsfiddle.net/BuzzSmarter/gmvban4p/
, ben dönmeye başlamadan önce border-radius gösterdikten olmadan şeffaf mavi arka plan değiştirmek gerekir.
Renkleri istismar ediyorum, bunlar ne ile çalışacağım değil, ancak konuya daha açık bir yaklaşım getiriyor.
Bu, saydamlığı gerçekleştirmek için çekimi kaldırmam gereken geçici ürünümdür. http://jsfiddle.net/BuzzSmarter/gmvban4p/
ilgili http://stackoverflow.com/questions/23385924/css-animate-circle-border-filling-with-color –
Öneri @NikosM için teşekkürler. ama ilgili soru sorumu çözmeye çalışmaz. Saydam olmak için dairenin iç kısmına ihtiyacım var. İlgili soru, arka plan şeffaflığından bahsetmiyor. – BuzzSmarter
Peki sanırım bu sorudaki çözüm gibi sth'yi kullanabilir ve başka bir içeriğe ** ekleyebilirsiniz. ** animasyonlu daire içinde (böylece diskin arka planını kaplar ve sadece çevre görünür) –