scss+div实现逼真立体月球月亮旋转动画效果代码

代码语言:html

所属分类:动画

代码描述:scss+div实现逼真立体月球月亮旋转动画效果代码

代码标签: scss div 逼真 立体 月球 月亮 旋转 动画

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en" >

<head>
  <meta charset="UTF-8">


  
<style type = 'text/scss'>
$blk: #1a0606;
$none: rgba(#fff, 0);
$white: #fff;
$crater: #2e292a;

$lte: #bfbebb;

// fix the ugly crater placement

html,
body,
div {
  height: 100%;
}

html {
  font-size: 1vmin;
  background: $blk;
}

body {
  margin: auto;
}

div {
  transform-style: preserve-3d;
  perspective: 100em;
  position: relative;

  *,
  *:before,
  *:after,
  &:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    box-sizing: border-box;
    transform-style: preserve-3d;
    backface-visibility: hidden;
  }

  &:after {
    width: 50em;
    height: 50em;
    background: radial-gradient(circle at top, $none, $blk);
    transform: translate3d(0, 0, 40em);
    margin: auto;
    bottom: 0;
    right: 0;
  }
}
moon {
  margin: auto;
  inset: 0;
  width: 81em;
  height: 81em;
  background: lighten($crater, 10);
  border-radius: 50%;

  spin {
    animation: r 10s linear infinite;
    width: 80em;
    height: 0;
    margin: auto;
    inset: 0;
  }

  c {
    width: 80em;
    height: 1em;

    &:before,
    &:after {
      width: 5em;
      height: 5em;
      box-shadow: 0 -1em $blk, inset 0 -1em $lte;
      border-radius: 50%;
      transform: rotateY(-90deg);
    }

    &:after {
      transform: translate3d(75rem, 0, 0) rotateY(90deg);
    }
  }

  @for $i from 1 through 60 {
    c:nth-of-type(#{$i}) {
      transform: rotate(random(360) * 1deg) rotateY(random(360) * 1deg);

      &:before {
        transform: rotateY(-90deg) scale(random(10) / 10);
      }

      &:after {
        transform: translate3d(75rem, 0, 0)
          rotat.........完整代码请登录后点击上方下载按钮下载查看

网友评论0