欢迎来到DIVCSS5查找CSS资料与学习DIV CSS布局技术!
  源代码下载
 
  https://github.com/comehope/front-end-daily-challenges
 
  代码解读
 
  定义dom,容器中包含3个元素:
 
  <divclass="container">
 
  <divclass="sun"></div>
 
  <divclass="earth">
 
  <divclass="moon"></div>
 
  </div>
 
  </div>
 
  居中显示:
 
  body{
 
  margin:0;
 
  height:100vh;
 
  display:flex;
 
  align-items:center;
 
  justify-content:center;
 
  background-color:black;
 
  }
 
  定义容器尺寸:
 
  .container{
 
  font-size:10px;
 
  width:40em;
 
  height:40em;
 
  position:relative;
 
  }
 
  画出太阳:
 
  .sun{
 
  position:absolute;
 
  top:15em;
 
  left:15em;
 
  width:10em;
 
  height:10em;
 
  background-color:yellow;
 
  border-radius:50%;
 
  box-shadow:003emwhite;
 
  }
 
  画出地球和月球的轨迹:
 
  
 
  .earth,
 
  .moon{
 
  position:absolute;
 
  border-style:solid;
 
  border-color:whitetransparenttransparenttransparent;
 
  border-width:0.1em0.1em00;
 
  border-radius:50%;
 
  }
 
  .earth{
 
  top:5em;
 
  left:5em;
 
  width:30em;
 
  height:30em;
 
  }
 
  .moon{
 
  top:0;
 
  right:0;
 
  width:8em;
 
  height:8em;
 
  }
 
  用伪元素画出地球和月球:
 
  
 
  .earth::before,
 
  .moon::before{
 
  position:absolute;
 
  border-radius:50%;
 
  content:'';
 
  }
 
  .earth::before{
 
  top:2.8em;
 
  right:2.5em;
 
  height:3em;
 
  width:3em;
 
  background-color:aqua;
 
  }
 
  .moon::before{
 
  top:0.8em;
 
  right:0.2em;
 
  width:1.2em;
 
  height:1.2em;
 
  background-color:silver;
 
  }
 
  设置运转动画效果:
 
  
 
  /*rotationperiod365.2422days*/
 
  .earth{
 
  animation:orbit36.5slinearinfinite;
 
  }
 
  /*rotationperiod27.322days*/
 
  .moon{
 
  animation:orbit2.7slinearinfinite;
 
  }
 
  @keyframesorbit{
 
  to{
 
  transform:rotate(360deg);
 
  }
 
  }
 
  最后,隐藏可能会出现在容器外的部分:
 
  body{
 
  overflow:hidden;
 
  }







本文转载自中文网

 

如需转载,请注明文章出处和来源网址:http://www.divcss5.com/css3-style/c56908.shtml