CSS圓圈內圓點移動是CSS動畫中的一種基礎效果,這種動畫效果可以使圓圈中的圓點沿著圓的周長運動。
/* 創建圓圈 */ .circle { width: 200px; height: 200px; border-radius: 50%; background-color: #ccc; position: relative; } /* 創建圓點 */ .dot { width: 20px; height: 20px; border-radius: 50%; background-color: #f00; position: absolute; top: 50%; left: 50%; margin-left: -10px; margin-top: -10px; animation: move 2s linear infinite; } /* 圓點移動動畫 */ @keyframes move { 0% { transform: rotate(0deg) translate(100px) rotate(0deg); } 100% { transform: rotate(360deg) translate(100px) rotate(-360deg); } }
在實現這種效果的CSS代碼中,我們首先創建了一個圓圈,使用border-radius設置圓圈的邊緣為圓形,width和height設置圓圈的寬度和高度。同時,我們還將圓圈設置為相對定位,這樣方便坐標值的計算。
接著,我們創建了一個圓點。圓點也是個圓形,使用border-radius設置邊緣為圓形,width和height分別為20px,使用紅色背景色來區分它與圓圈。同時,我們將圓點設置為絕對定位,top和left值為50%,表示圓點位于圓圈中心。margin-left和margin-top分別為-10px,將圓點上移和左移到圓圈中心,使其與圓中心位置重合。
剩下的就是圓點移動動畫的代碼了。我們使用CSS的@keyframes屬性創建關鍵幀,使用rotate函數來旋轉圓點,translate函數來位移圓點。初始狀態下圓點位于圓中心,然后沿著圓的周長運動,達到旋轉的效果。動畫的執行時間為2秒,linear表示動畫速度是勻速的,infinite表示動畫循環無限次。整個效果就是圓圈中的圓點不停地沿著圓的周長運動。