用css怎么做出五个圆平均围绕在一个圆四周

html-css042

用css怎么做出五个圆平均围绕在一个圆四周,第1张

主要是使用box-shadow偏移

核心代码: box-shadow: -0.11em -0.83em 0 -0.4em #56c29e, -0.11em -0.83em 0 -0.42em #56c29e, -0.11em -0.83em 0 -0.44em #56c29e, -0.11em -0.83em 0 -0.46em #56c29e, -0.11em -0.83em 0 -0.477em #56c29e

这个效果是动态的,请复制下面所有代码到html里,运行网页即可

<!DOCTYPE html>

<html>

<head lang="en">

<meta charset="UTF-8">

<title></title>

<style>

.load {

width: 1.3em

height: 1.3em

border-radius: 20px

animation: xuanzhuan 2s infinite

background: red

margin: 48% auto

zoom: 3.0

}

@keyframes xuanzhuan {

0% {

-webkit-transform: rotate(0deg)

transform: rotate(0deg)

box-shadow: -0.11em -0.83em 0 -0.4em #56c29e, -0.11em -0.83em 0 -0.46em #56c29e, -0.11em -0.83em 0 -0.52em #56c29e, -0.11em -0.83em 0 -0.58em #56c29e, -0.11em -0.83em 0 -0.70em #56c29e

}

5%,

95% {

box-shadow: -0.11em -0.83em 0 -0.4em #56c29e, -0.11em -0.83em 0 -0.46em #56c29e, -0.11em -0.83em 0 -0.52em #56c29e, -0.11em -0.83em 0 -0.58em #56c29e, -0.11em -0.83em 0 -0.70em #56c29e

}

30% {

box-shadow: -0.11em -0.83em 0 -0.4em #56c29e, -0.51em -0.66em 0 -0.46em #56c29e, -0.75em -0.36em 0 -0.52em #56c29e, -0.83em -0.03em 0 -0.58em #56c29e, -0.81em 0.21em 0 -0.70em #56c29e

}

55% {

box-shadow: -0.11em -0.83em 0 -0.4em #56c29e, -0.29em -0.78em 0 -0.46em #56c29e, -0.43em -0.72em 0 -0.52em #56c29e, -0.52em -0.65em 0 -0.58em #56c29e, -0.57em -0.61em 0 -0.70em #56c29e

}

100% {

-webkit-transform: rotate(360deg)

transform: rotate(360deg)

box-shadow: -0.11em -0.83em 0 -0.4em #56c29e, -0.11em -0.83em 0 -0.46em #56c29e, -0.11em -0.83em 0 -0.52em #56c29e, -0.11em -0.83em 0 -0.58em #56c29e, -0.11em -0.83em 0 -0.70em #56c29e

}

}

</style>

</head>

<body>

<div class="load">

</div>

</body>

</html>

原理就是,先定义一个元素 ,然后定义动画XYZ轴偏移。

body > div > div:after {

    content: ""

    position: absolute

    top: -5px

    box-shadow: 0 0 12px #fff

    left: 50%

    margin-left: -5px

    width: 5px

    height: 5px

    border-radius: 50%

    background-color: #fff

    -webkit-animation: particle_ 2s infinite linear

    animation: particle_ 2s infinite linear

} body > div:nth-of-type(4) > div, body > div:nth-of-type(4) > div:after {

    -webkit-animation-delay: -1.5s

    animation-delay: -1.5s

}

body > div > div {

    width: 200px

    height: 200px

    position: relative

    -webkit-transform-style: preserve-3d

    -webkit-animation: trail_ 2s infinite linear

    transform-style: preserve-3d

    animation: trail_ 2s infinite linear

}

实施步骤:

建立一个BOX

在BOX中制作一个元素。

CSS动画定义BOX旋转按照你的轨迹。

通过。

-webkit-transform:rotateY( 0deg ) rotateZ( 0deg )  rotateX( 0deg )

         -moz-transform:rotateY( 0deg ) rotateZ( 0deg ) rotateX( 0deg )

      -o-transform:rotateY( 0deg ) rotateZ( 0deg ) rotateX( 0deg )

              transform:rotateY( 0deg ) rotateZ( 0deg ) rotateX( 0deg )

来定义旋转方向,0是不旋转。0-360度是一圈。

       -webkit-transition:transform 1s

transition:transform 1s

这是设置动画时间。

一个BOX完成后,复制box,摆在统一中心点后,设置Z轴的数字。