CSS3帶有箭頭旋轉的圓形

admin發表於2017-11-30

分享一段程式碼例項,它實現了帶有箭頭的圓形旋轉效果。

程式碼例項如下:

[HTML] 純文字檢視 複製程式碼執行程式碼
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<style>
#box {
  margin: 50px;
  position: relative;
  height: 100px;
  width: 100px;
  background: #D2CDCD;
  border-radius: 100%;
  animation: myfirst 5s ease-in-out infinite;
}
#box:after {
  left: 10px;
  top: -60px;
  position: absolute;
  border: 40px solid transparent;
  content: " ";
  border-bottom: 90px solid #D2CDCD;
}
@keyframes myfirst {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
</style>
</head>
<body>
<div id="box"></div>
</body>
</html>

程式碼實現了預期效果,下面介紹一下它的實現過程。

一.程式碼註釋:

[CSS] 純文字檢視 複製程式碼
#box {
  margin: 50px;
  position: relative;
  height: 100px;
  width: 100px;
  background: #D2CDCD;
  border-radius: 100%;
  animation: ant 5s ease-in-out infinite;
}

這個就是我們所看到的大的圓形。

相對定位,那麼它後代定位子元素位移就以它為參考。

通過border-radius: 100%將其設定為一個正圓。

最後設定相關動畫效果。

[CSS] 純文字檢視 複製程式碼
#box:after {
  left: 10px;
  top: -60px;
  position: absolute;
  border: 40px solid transparent;
  content: " ";
  border-bottom: 90px solid #D2CDCD;
}

通過偽元素選擇器,新增一個元素。

此元素沒有尺寸,只有邊框,可以利用邊框形成一個三角形,參閱CSS三角形效果詳解一章節。

可以給這個邊框設定一個其他顏色,便於觀察效果:

a:3:{s:3:\"pic\";s:43:\"portal/201711/30/171341ygpk6ja6iuegappp.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

[CSS] 純文字檢視 複製程式碼
@keyframes ant {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

從0度到360度的旋轉。

二.相關閱讀:

(1).相對定位參閱CSS position:relative 相對定位一章節。

(2).絕對定位參閱CSS position:absolute 絕對定位一章節。

(3).border-radius參閱CSS3 border-radius一章節。

(4).animation參閱CSS3 animation一章節。

(5).@keyframes參閱CSS3 @keyframes一章節。

(6).transform參閱CSS3 transform一章節。

相關文章