最新文章專題視頻專題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

html+ccs3太陽(yáng)系行星運(yùn)轉(zhuǎn)動(dòng)畫(huà)

來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 16:41:10
文檔

html+ccs3太陽(yáng)系行星運(yùn)轉(zhuǎn)動(dòng)畫(huà)

html+ccs3太陽(yáng)系行星運(yùn)轉(zhuǎn)動(dòng)畫(huà):做一個(gè)太陽(yáng)系八大行星的運(yùn)轉(zhuǎn)動(dòng)畫(huà),不包括行星的衛(wèi)星,所有行星圍繞太陽(yáng)公轉(zhuǎn),行星采用純色,暫時(shí)沒(méi)有自轉(zhuǎn)。 效果靜態(tài)圖: 動(dòng)畫(huà)中包括:太陽(yáng)及各行星,運(yùn)行軌道,行星公轉(zhuǎn)動(dòng)畫(huà)。 先畫(huà)好草圖,設(shè)計(jì)好大小和位置,根據(jù)公轉(zhuǎn)周期計(jì)算好動(dòng)畫(huà)執(zhí)行的時(shí)間。 h
推薦度:
導(dǎo)讀html+ccs3太陽(yáng)系行星運(yùn)轉(zhuǎn)動(dòng)畫(huà):做一個(gè)太陽(yáng)系八大行星的運(yùn)轉(zhuǎn)動(dòng)畫(huà),不包括行星的衛(wèi)星,所有行星圍繞太陽(yáng)公轉(zhuǎn),行星采用純色,暫時(shí)沒(méi)有自轉(zhuǎn)。 效果靜態(tài)圖: 動(dòng)畫(huà)中包括:太陽(yáng)及各行星,運(yùn)行軌道,行星公轉(zhuǎn)動(dòng)畫(huà)。 先畫(huà)好草圖,設(shè)計(jì)好大小和位置,根據(jù)公轉(zhuǎn)周期計(jì)算好動(dòng)畫(huà)執(zhí)行的時(shí)間。 h
做一個(gè)太陽(yáng)系八大行星的運(yùn)轉(zhuǎn)動(dòng)畫(huà),不包括行星的衛(wèi)星,所有行星圍繞太陽(yáng)公轉(zhuǎn),行星采用純色,暫時(shí)沒(méi)有自轉(zhuǎn)。

效果靜態(tài)圖:

動(dòng)畫(huà)中包括:太陽(yáng)及各行星,運(yùn)行軌道,行星公轉(zhuǎn)動(dòng)畫(huà)。

先畫(huà)好草圖,設(shè)計(jì)好大小和位置,根據(jù)公轉(zhuǎn)周期計(jì)算好動(dòng)畫(huà)執(zhí)行的時(shí)間。

html的結(jié)構(gòu):

一個(gè)class為solarsys的div,作為太陽(yáng)系容器元素,該div的position為relative。

行星軌道和行星都用div,position為absolute。

容器用relative和內(nèi)部元素采用absolute的定位方式,比較簡(jiǎn)單的能實(shí)現(xiàn)效果,缺點(diǎn)就是大小是固定的。

 

太陽(yáng)系容器div的css:

定寬,定高,relative定位,頁(yè)面內(nèi)劇中對(duì)齊。

 .solarsys{
  width: 800px;
  height: 800px;;
  position: relative;
  margin: 0 auto;
  background-color: #000000;
  padding: 0;
  transform: scale(1);
 }

太陽(yáng)div的css:

按照設(shè)計(jì)的大小和位置,設(shè)定寬高,left,top。

設(shè)定顏色。

通過(guò)把boder-radius生成50%,把一個(gè)正方形變成圓形。

通過(guò)box-shadow的4層顏色設(shè)置實(shí)現(xiàn)太陽(yáng)光暈。

 .sun {
  left:357px;
  top:357px;
  height: 90px;
  width: 90px;
  background-color: rgb(248,107,35);
  border-radius: 50%;
  box-shadow: 5px 5px 10px rgb(248,107,35), -5px -5px 10px rgb(248,107,35), 5px -5px 10px rgb(248,107,35), -5px 5px 10px rgb(248,107,35);
  position: absolute;
  margin: 0;
 }

行星軌道div的css:

假設(shè)是水星軌道。

按照設(shè)計(jì)的大小和位置,設(shè)定寬高,left,top。

背景色透明。

通過(guò)把boder-radius生成50%,把一個(gè)正方形變成圓形。

boder的類型設(shè)成虛線。

boder的顏色設(shè)成灰色。

寬度設(shè)1。

 .mercuryOrbit {
  left:342.5px;
  top:342.5px;
  height: 115px;
  width: 115px;
  background-color: transparent;
  border-radius: 50%;
  border-style: dashed;
  border-color: gray;
  position: absolute;
  border-width: 1px;
  margin: 0px;
  padding: 0px;
 }

行星div的css:

假設(shè)是水星。

按照設(shè)計(jì)的大小和位置,設(shè)定寬高,left,top。

設(shè)置顏色。

通過(guò)把boder-radius生成50%,把一個(gè)正方形變成圓形。

將transfrom-origin設(shè)定成當(dāng)前div的左上角相對(duì)于整個(gè)太陽(yáng)系容器的中心點(diǎn)的橫向和縱向的偏移量。加上旋轉(zhuǎn)動(dòng)畫(huà)后就是圍繞著中心點(diǎn)旋轉(zhuǎn)效果。

做一個(gè)animation,引用rotate關(guān)鍵幀動(dòng)畫(huà),線性永久執(zhí)行,這里的執(zhí)行時(shí)長(zhǎng)是根據(jù)行星的公轉(zhuǎn)周期計(jì)算出來(lái)。

 .mercury {
  left:337.5px;
  top:395px;
  height: 10px;
  width: 10px;
  background-color: rgb(166,138,56);
  border-radius: 50%;
  position: absolute;
  transform-origin: 62.5px 5px;
  animation: rotate 1.5s infinite linear;
 }

rotate關(guān)鍵幀動(dòng)畫(huà):

逆時(shí)針旋轉(zhuǎn)。

 @keyframes rotate {
  100% {
  transform: rotate(-360deg);
  }
 }

基本結(jié)構(gòu)完成。

僅在chrome中測(cè)試過(guò)。

全部代碼:



 







Top