将旋转圆心转到页面

时间:2018-04-23 10:05:45

标签: html css rotation css-animations center

我想将这些戒指放在页面中央。 同心圆似乎移动而不是用同一个中心固定。 我无法理解中心是否在移动。 我想将它固定在页面的中心。 我无法理解半径是否在变化。 可能他们只是固定在一个中心,然后翻译了一些像素。



* {
  box-sizing: border-box;
}

html {
  font-size: 100%;
}

.orbit {
  /*background: #090c29;*/
  float: left;
  width: 100%;
  min-width: 100vw;
  min-height: 100vh;
}

.orbit-icon {
  width: 2em;
  height: 2em;
  line-height: 2em;
  font-size: 0.1em;
  border-radius: 100%;
  /*background: #ccc;
  color: #fff;*/
  text-align: center;
  display: block;
}

.orbit-wrap {
  height: 50em;
  list-style: none;
  font-size: 2em;
}

.orbit-wrap>li {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}


/*.orbit-wrap > li:hover ul {
  border-width: 2px;
  border-color: #fff;
}
.orbit-wrap > li:hover ~ li ul {
  border-color: rgba(255, 255, 255, 0.2);
}
.orbit-wrap > li:hover ~ li ul li {
  opacity: 0.4;
}

ul[class^=ring] {
  transition: all 300ms ease-in-out;
}
ul[class^=ring] li {
  transition: all 300ms ease-in-out;
}*/

.ring-00 {
  width: 40em;
  height: 40em;
  -webkit-animation: counterClockwiseRotate 35s linear infinite;
  animation: counterClockwiseRotate 35s linear infinite;
}

.ring-00 i {
  -webkit-animation: counterClockwiseRotate 35s linear infinite;
  animation: counterClockwiseRotate 35s linear infinite;
}

.ring-00>*:nth-of-type(1) {
  -webkit-transform: rotate(30deg) translate(25em) rotate(-30deg);
  transform: rotate(30deg) translate(25em) rotate(-30deg);
}

.ring-00>*:nth-of-type(2) {
  -webkit-transform: rotate(60deg) translate(25em) rotate(-60deg);
  transform: rotate(60deg) translate(25em) rotate(-60deg);
}

.ring-00>*:nth-of-type(3) {
  -webkit-transform: rotate(90deg) translate(25em) rotate(-90deg);
  transform: rotate(90deg) translate(25em) rotate(-90deg);
}

.ring-00>*:nth-of-type(4) {
  -webkit-transform: rotate(120deg) translate(25em) rotate(-120deg);
  transform: rotate(120deg) translate(25em) rotate(-120deg);
}

.ring-00>*:nth-of-type(5) {
  -webkit-transform: rotate(150deg) translate(25em) rotate(-150deg);
  transform: rotate(150deg) translate(25em) rotate(-150deg);
}

.ring-00>*:nth-of-type(6) {
  -webkit-transform: rotate(180deg) translate(25em) rotate(-180deg);
  transform: rotate(180deg) translate(25em) rotate(-180deg);
}

.ring-00>*:nth-of-type(7) {
  -webkit-transform: rotate(210deg) translate(25em) rotate(-210deg);
  transform: rotate(210deg) translate(25em) rotate(-210deg);
}

.ring-00>*:nth-of-type(8) {
  -webkit-transform: rotate(240deg) translate(25em) rotate(-240deg);
  transform: rotate(240deg) translate(25em) rotate(-240deg);
}

.ring-00>*:nth-of-type(9) {
  -webkit-transform: rotate(270deg) translate(25em) rotate(-270deg);
  transform: rotate(270deg) translate(25em) rotate(-270deg);
}

.ring-00>*:nth-of-type(10) {
  -webkit-transform: rotate(300deg) translate(25em) rotate(-300deg);
  transform: rotate(300deg) translate(25em) rotate(-300deg);
}

.ring-00>*:nth-of-type(11) {
  -webkit-transform: rotate(330deg) translate(25em) rotate(-330deg);
  transform: rotate(330deg) translate(25em) rotate(-330deg);
}

.ring-00>*:nth-of-type(12) {
  -webkit-transform: rotate(360deg) translate(25em) rotate(-360deg);
  transform: rotate(360deg) translate(25em) rotate(-360deg);
}

.ring-0 {
  width: 30em;
  height: 30em;
  -webkit-animation: clockwiseRotate 35s linear infinite;
  animation: clockwiseRotate 35s linear infinite;
}

.ring-0 i {
  -webkit-animation: counterClockwiseRotate 35s linear infinite;
  animation: counterClockwiseRotate 35s linear infinite;
}

.ring-0>*:nth-of-type(1) {
  -webkit-transform: rotate(30deg) translate(20em) rotate(-30deg);
  transform: rotate(30deg) translate(20em) rotate(-30deg);
}

.ring-0>*:nth-of-type(2) {
  -webkit-transform: rotate(60deg) translate(20em) rotate(-60deg);
  transform: rotate(60deg) translate(20em) rotate(-60deg);
}

.ring-0>*:nth-of-type(3) {
  -webkit-transform: rotate(90deg) translate(20em) rotate(-90deg);
  transform: rotate(90deg) translate(20em) rotate(-90deg);
}

.ring-0>*:nth-of-type(4) {
  -webkit-transform: rotate(120deg) translate(20em) rotate(-120deg);
  transform: rotate(120deg) translate(20em) rotate(-120deg);
}

.ring-0>*:nth-of-type(5) {
  -webkit-transform: rotate(150deg) translate(20em) rotate(-150deg);
  transform: rotate(150deg) translate(20em) rotate(-150deg);
}

.ring-0>*:nth-of-type(6) {
  -webkit-transform: rotate(180deg) translate(20em) rotate(-180deg);
  transform: rotate(180deg) translate(20em) rotate(-180deg);
}

.ring-0>*:nth-of-type(7) {
  -webkit-transform: rotate(210deg) translate(20em) rotate(-210deg);
  transform: rotate(210deg) translate(20em) rotate(-210deg);
}

.ring-0>*:nth-of-type(8) {
  -webkit-transform: rotate(240deg) translate(20em) rotate(-240deg);
  transform: rotate(240deg) translate(20em) rotate(-240deg);
}

.ring-0>*:nth-of-type(9) {
  -webkit-transform: rotate(270deg) translate(20em) rotate(-270deg);
  transform: rotate(270deg) translate(20em) rotate(-270deg);
}

.ring-0>*:nth-of-type(10) {
  -webkit-transform: rotate(300deg) translate(20em) rotate(-300deg);
  transform: rotate(300deg) translate(20em) rotate(-300deg);
}

.ring-0>*:nth-of-type(11) {
  -webkit-transform: rotate(330deg) translate(20em) rotate(-330deg);
  transform: rotate(330deg) translate(20em) rotate(-330deg);
}

.ring-0>*:nth-of-type(12) {
  -webkit-transform: rotate(360deg) translate(20em) rotate(-360deg);
  transform: rotate(360deg) translate(20em) rotate(-360deg);
}

.ring-1 {
  width: 20em;
  height: 20em;
  -webkit-animation: counterClockwiseRotate 30s linear infinite;
  animation: counterClockwiseRotate 30s linear infinite;
}

.ring-1 i {
  -webkit-animation: counterClockwiseRotate 30s linear infinite;
  animation: counterClockwiseRotate 30s linear infinite;
}

.ring-1>*:nth-of-type(1) {
  -webkit-transform: rotate(30deg) translate(15em) rotate(-30deg);
  transform: rotate(30deg) translate(15em) rotate(-30deg);
}

.ring-1>*:nth-of-type(2) {
  -webkit-transform: rotate(60deg) translate(15em) rotate(-60deg);
  transform: rotate(60deg) translate(15em) rotate(-60deg);
}

.ring-1>*:nth-of-type(3) {
  -webkit-transform: rotate(90deg) translate(15em) rotate(-90deg);
  transform: rotate(90deg) translate(15em) rotate(-90deg);
}

.ring-1>*:nth-of-type(4) {
  -webkit-transform: rotate(120deg) translate(15em) rotate(-120deg);
  transform: rotate(120deg) translate(15em) rotate(-120deg);
}

.ring-1>*:nth-of-type(5) {
  -webkit-transform: rotate(150deg) translate(15em) rotate(-150deg);
  transform: rotate(150deg) translate(15em) rotate(-150deg);
}

.ring-1>*:nth-of-type(6) {
  -webkit-transform: rotate(180deg) translate(15em) rotate(-180deg);
  transform: rotate(180deg) translate(15em) rotate(-180deg);
}

.ring-1>*:nth-of-type(7) {
  -webkit-transform: rotate(210deg) translate(15em) rotate(-210deg);
  transform: rotate(210deg) translate(15em) rotate(-210deg);
}

.ring-1>*:nth-of-type(8) {
  -webkit-transform: rotate(240deg) translate(15em) rotate(-240deg);
  transform: rotate(240deg) translate(15em) rotate(-240deg);
}

.ring-1>*:nth-of-type(9) {
  -webkit-transform: rotate(270deg) translate(15em) rotate(-270deg);
  transform: rotate(270deg) translate(15em) rotate(-270deg);
}

.ring-1>*:nth-of-type(10) {
  -webkit-transform: rotate(300deg) translate(15em) rotate(-300deg);
  transform: rotate(300deg) translate(15em) rotate(-300deg);
}

.ring-1>*:nth-of-type(11) {
  -webkit-transform: rotate(330deg) translate(15em) rotate(-330deg);
  transform: rotate(330deg) translate(15em) rotate(-330deg);
}

.ring-1>*:nth-of-type(12) {
  -webkit-transform: rotate(360deg) translate(15em) rotate(-360deg);
  transform: rotate(360deg) translate(15em) rotate(-360deg);
}

.ring-2 {
  width: 15em;
  height: 15em;
  -webkit-animation: clockwiseRotate 25s linear infinite;
  animation: clockwiseRotate 25s linear infinite;
}

.ring-2 i {
  -webkit-animation: counterClockwiseRotate 25s linear infinite;
  animation: counterClockwiseRotate 25s linear infinite;
}

.ring-2>*:nth-of-type(1) {
  -webkit-transform: rotate(30deg) translate(10em) rotate(-30deg);
  transform: rotate(30deg) translate(10em) rotate(-30deg);
}

.ring-2>*:nth-of-type(2) {
  -webkit-transform: rotate(60deg) translate(10em) rotate(-60deg);
  transform: rotate(60deg) translate(10em) rotate(-60deg);
}

.ring-2>*:nth-of-type(3) {
  -webkit-transform: rotate(90deg) translate(10em) rotate(-90deg);
  transform: rotate(90deg) translate(10em) rotate(-90deg);
}

.ring-2>*:nth-of-type(4) {
  -webkit-transform: rotate(120deg) translate(10em) rotate(-120deg);
  transform: rotate(120deg) translate(10em) rotate(-120deg);
}

.ring-2>*:nth-of-type(5) {
  -webkit-transform: rotate(150deg) translate(10em) rotate(-150deg);
  transform: rotate(150deg) translate(10em) rotate(-150deg);
}

.ring-2>*:nth-of-type(6) {
  -webkit-transform: rotate(180deg) translate(10em) rotate(-180deg);
  transform: rotate(180deg) translate(10em) rotate(-180deg);
}

.ring-2>*:nth-of-type(7) {
  -webkit-transform: rotate(210deg) translate(10em) rotate(-210deg);
  transform: rotate(210deg) translate(10em) rotate(-210deg);
}

.ring-2>*:nth-of-type(8) {
  -webkit-transform: rotate(240deg) translate(10em) rotate(-240deg);
  transform: rotate(240deg) translate(10em) rotate(-240deg);
}

.ring-2>*:nth-of-type(9) {
  -webkit-transform: rotate(270deg) translate(10em) rotate(-270deg);
  transform: rotate(270deg) translate(10em) rotate(-270deg);
}

.ring-2>*:nth-of-type(10) {
  -webkit-transform: rotate(300deg) translate(10em) rotate(-300deg);
  transform: rotate(300deg) translate(10em) rotate(-300deg);
}

.ring-2>*:nth-of-type(11) {
  -webkit-transform: rotate(330deg) translate(10em) rotate(-330deg);
  transform: rotate(330deg) translate(10em) rotate(-330deg);
}

.ring-2>*:nth-of-type(12) {
  -webkit-transform: rotate(360deg) translate(10em) rotate(-360deg);
  transform: rotate(360deg) translate(10em) rotate(-360deg);
}

.ring-3 {
  width: 10em;
  height: 10em;
  -webkit-animation: counterClockwiseRotate 20s linear infinite;
  animation: counterClockwiseRotate 20s linear infinite;
}

.ring-3 i {
  -webkit-animation: counterClockwiseRotate 20s linear infinite;
  animation: counterClockwiseRotate 20s linear infinite;
}

.ring-3>*:nth-of-type(1) {
  -webkit-transform: rotate(30deg) translate(5em) rotate(-30deg);
  transform: rotate(30deg) translate(5em) rotate(-30deg);
}

.ring-3>*:nth-of-type(2) {
  -webkit-transform: rotate(60deg) translate(5em) rotate(-60deg);
  transform: rotate(60deg) translate(5em) rotate(-60deg);
}

.ring-3>*:nth-of-type(3) {
  -webkit-transform: rotate(90deg) translate(5em) rotate(-90deg);
  transform: rotate(90deg) translate(5em) rotate(-90deg);
}

.ring-3>*:nth-of-type(4) {
  -webkit-transform: rotate(120deg) translate(5em) rotate(-120deg);
  transform: rotate(120deg) translate(5em) rotate(-120deg);
}

.ring-3>*:nth-of-type(5) {
  -webkit-transform: rotate(150deg) translate(5em) rotate(-150deg);
  transform: rotate(150deg) translate(5em) rotate(-150deg);
}

.ring-3>*:nth-of-type(6) {
  -webkit-transform: rotate(180deg) translate(5em) rotate(-180deg);
  transform: rotate(180deg) translate(5em) rotate(-180deg);
}

.ring-3>*:nth-of-type(7) {
  -webkit-transform: rotate(210deg) translate(5em) rotate(-210deg);
  transform: rotate(210deg) translate(5em) rotate(-210deg);
}

.ring-3>*:nth-of-type(8) {
  -webkit-transform: rotate(240deg) translate(5em) rotate(-240deg);
  transform: rotate(240deg) translate(5em) rotate(-240deg);
}

.ring-3>*:nth-of-type(9) {
  -webkit-transform: rotate(270deg) translate(5em) rotate(-270deg);
  transform: rotate(270deg) translate(5em) rotate(-270deg);
}

.ring-3>*:nth-of-type(10) {
  -webkit-transform: rotate(300deg) translate(5em) rotate(-300deg);
  transform: rotate(300deg) translate(5em) rotate(-300deg);
}

.ring-3>*:nth-of-type(11) {
  -webkit-transform: rotate(330deg) translate(5em) rotate(-330deg);
  transform: rotate(330deg) translate(5em) rotate(-330deg);
}

.ring-3>*:nth-of-type(12) {
  -webkit-transform: rotate(360deg) translate(5em) rotate(-360deg);
  transform: rotate(360deg) translate(5em) rotate(-360deg);
}

ul[class^=ring] {
  /*border: solid 1px rgba(33, 150, 243, 0.8);*/
  position: relative;
  padding: 0;
  border-radius: 50%;
  list-style: none;
  box-sizing: content-box;
}

ul[class^=ring] li {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.6em;
  height: 1.6em;
  margin: -0.8em;
}


/*
  center;
*/

.orbit-center {
  font-size: 2em;
  width: 5em;
  height: 5em;
  line-height: 2em;
  text-align: center;
  border: solid 2px black;
  border-radius: 100%;
  visibility: hidden;
}


/*.orbit-center:hover .orbit-center__icon {
  -webkit-transform: rotateZ(0deg);
          transform: rotateZ(0deg);
}

.orbit-center__icon {
  -webkit-transform: rotateZ(-360deg);
          transform: rotateZ(-360deg);
  transition: all 300ms ease-in-out;
}*/

.orbit-wrap>li.orbit-center:hover~li>ul {
  width: 0;
  height: 0;
}

.orbit-wrap>li.orbit-center:hover~li>ul * {
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
}


/* 
animations 
*/

@-webkit-keyframes clockwiseRotate {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes clockwiseRotate {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

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

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


/* 
icons 
*/

.fa-purple {
  height: 120px;
  width: 120px;
  background: purple;
  color: white;
}

.fa-blue {
  height: 20px;
  width: 20px;
  background: blue;
  color: white;
}


/*
.fa-coffee {
  background: #4CAF50;
  color: #CDDC39;
}

.fa-safari {
  background: white;
  color: darkslateblue;
}

.fa-firefox {
  background: #1565c0;
  color: #ff8f00;
}

.fa-chrome {
  background: #fbc02d;
  color: #ef6c00;
}

.fa-edge {
  background: #03a9f4;
  color: white;
}

.fa-android {
  background: snow;
  color: limegreen;
}

.fa-apple {
  background: #444;
  color: white;
}

.fa-linux {
  background: white;
  color: #222;
}

.fa-windows {
  background: white;
  color: #03a9f4;
}

.fa-terminal {
  background: #222;
  color: #fff;
}

.fa-html5 {
  background: white;
  color: #e65100;
}

.fa-css3 {
  background: white;
  color: #2196f3;
}

.fa-git {
  background: #222;
  color: white;
}

.fa-free-code-camp {
  background: green;
  color: white;
}

.fa-meetup {
  background: red;
  color: white;
}

.fa-podcast {
  background: red;
  color: white;
}

.fa-codepen {
  background: #333;
  color: white;
}
*/

<div class="orbit">
  <ul class="orbit-wrap">
    <li class="orbit-center">
      <li>
        <ul class="ring-00">
          <li><i class="orbit-icon fa fa-blue"></i></li>
          <li><i class="orbit-icon fa fa-blue"></i></li>
          <li><i class="orbit-icon fa fa-blue"></i></li>
          <li><i class="orbit-icon fa fa-blue"></i></li>
          <li><i class="orbit-icon fa fa-blue"></i></li>
          <li><i class="orbit-icon fa fa-blue"></i></li>
          <li><i class="orbit-icon fa fa-blue"></i></li>
          <li><i class="orbit-icon fa fa-blue"></i></li>
          <li><i class="orbit-icon fa fa-blue"></i></li>
          <li><i class="orbit-icon fa fa-blue"></i></li>
          <li><i class="orbit-icon fa fa-blue"></i></li>
          <li><i class="orbit-icon fa fa-blue"></i></li>
        </ul>
      </li>

      <li>
        <ul class="ring-0">
          <li><i class="orbit-icon fa fa-purple"></i></li>
          <li><i class="orbit-icon fa fa-purple"></i></li>
          <li><i class="orbit-icon fa fa-purple"></i></li>
          <li><i class="orbit-icon fa fa-purple"></i></li>
          <li><i class="orbit-icon fa fa-purple"></i></li>
          <li><i class="orbit-icon fa fa-purple"></i></li>
          <li><i class="orbit-icon fa fa-purple"></i></li>
          <li><i class="orbit-icon fa fa-purple"></i></li>
          <li><i class="orbit-icon fa fa-purple"></i></li>
          <li><i class="orbit-icon fa fa-purple"></i></li>
          <li><i class="orbit-icon fa fa-purple"></i></li>
          <li><i class="orbit-icon fa fa-purple"></i></li>
        </ul>
      </li>

      <li>
        <ul class="ring-1">
          <li><i class="orbit-icon fa fa-blue"></i></li>
          <li><i class="orbit-icon fa fa-blue"></i></li>
          <li><i class="orbit-icon fa fa-blue"></i></li>
          <li><i class="orbit-icon fa fa-blue"></i></li>
          <li><i class="orbit-icon fa fa-blue"></i></li>
          <li><i class="orbit-icon fa fa-blue"></i></li>
          <li><i class="orbit-icon fa fa-blue"></i></li>
          <li><i class="orbit-icon fa fa-blue"></i></li>
          <li><i class="orbit-icon fa fa-blue"></i></li>
          <li><i class="orbit-icon fa fa-blue"></i></li>
          <li><i class="orbit-icon fa fa-blue"></i></li>
          <li><i class="orbit-icon fa fa-blue"></i></li>
        </ul>
      </li>

      <li>
        <ul class="ring-2">
          <li><i class="orbit-icon fa fa-purple"></i></li>
          <li><i class="orbit-icon fa fa-purple"></i></li>
          <li><i class="orbit-icon fa fa-purple"></i></li>
          <li><i class="orbit-icon fa fa-purple"></i></li>
          <li><i class="orbit-icon fa fa-purple"></i></li>
          <li><i class="orbit-icon fa fa-purple"></i></li>
          <li><i class="orbit-icon fa fa-purple"></i></li>
          <li><i class="orbit-icon fa fa-purple"></i></li>
          <li><i class="orbit-icon fa fa-purple"></i></li>
          <li><i class="orbit-icon fa fa-purple"></i></li>
          <li><i class="orbit-icon fa fa-purple"></i></li>
          <li><i class="orbit-icon fa fa-purple"></i></li>
        </ul>
      </li>

      <li>
        <ul class="ring-3">
          <li><i class="orbit-icon fa fa-blue"></i></li>
          <li><i class="orbit-icon fa fa-blue"></i></li>
          <li><i class="orbit-icon fa fa-blue"></i></li>
          <li><i class="orbit-icon fa fa-blue"></i></li>
          <li><i class="orbit-icon fa fa-blue"></i></li>
          <li><i class="orbit-icon fa fa-blue"></i></li>
          <li><i class="orbit-icon fa fa-blue"></i></li>
          <li><i class="orbit-icon fa fa-blue"></i></li>
          <li><i class="orbit-icon fa fa-blue"></i></li>
          <li><i class="orbit-icon fa fa-blue"></i></li>
          <li><i class="orbit-icon fa fa-blue"></i></li>
          <li><i class="orbit-icon fa fa-blue"></i></li>
        </ul>
      </li>
    </li>
  </ul>
</div>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

使用较少的代码创建相同布局的简单方法怎么样?我使用CSS变量来轻松控制颜色,圆的尺寸和容器的尺寸。

您当然可以通过添加更多类来省略CSS变量的使用。

.ring {
  width: var(--d,100px);
  height: var(--d,100px);
  position: absolute;
  top: calc(50% - (var(--d,100px)/2));
  left: calc(50% - (var(--d,100px)/2));
}
.clock {
  animation: clock 20s linear infinite;
}
.anti-clock {
  animation: anti-clock 20s linear infinite;
}

.orbit {
  position: absolute;
  left:0;
  right:0;
  top:calc(50%  - (var(--w, 15px))/2) ;
  height: var(--w, 15px);
}

.orbit:before,
.orbit:after {
  content:"";
  position: absolute;
  top: 0;
  bottom: 0;
  width: var(--w, 15px);
  background:var(--c,purple);
  border-radius: 50%;
  left: 0;
}

.orbit:after {
  right: 0;
  left: auto;
}
.orbit:nth-child(2) {
  transform:rotate(90deg);
}
.orbit:nth-child(3) {
  transform:rotate(30deg);
}
.orbit:nth-child(4) {
  transform:rotate(60deg);
}
.orbit:nth-child(5) {
  transform:rotate(-30deg);
}
.orbit:nth-child(6) {
  transform:rotate(-60deg);
}

@keyframes clock {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(-360deg);
  }
}
@keyframes anti-clock {
  100% {
    transform: rotate(0deg);
  }
  0% {
    transform: rotate(-360deg);
  }
}
<div class="ring clock">
  <div class="orbit"></div>
  <div class="orbit"></div>
  <div class="orbit"></div>
  <div class="orbit"></div>
  <div class="orbit"></div>
  <div class="orbit"></div>
</div>
<div class="ring anti-clock" style="--d:300px;--w:40px;--c:blue;">
  <div class="orbit"></div>
  <div class="orbit"></div>
  <div class="orbit"></div>
  <div class="orbit"></div>
  <div class="orbit"></div>
  <div class="orbit"></div>
</div>
<div class="ring clock" style="--d:400px;">
  <div class="orbit"></div>
  <div class="orbit"></div>
  <div class="orbit"></div>
  <div class="orbit"></div>
  <div class="orbit"></div>
  <div class="orbit"></div>
</div>
<div class="ring anti-clock" style="--d:600px;--w:40px;--c:blue;">
  <div class="orbit"></div>
  <div class="orbit"></div>
  <div class="orbit"></div>
  <div class="orbit"></div>
  <div class="orbit"></div>
  <div class="orbit"></div>
</div>