首页 > 建站教程 > CSS3+HTML5 >  css3实现三个旋转的环正文

css3实现三个旋转的环

css3实现的三个旋转的环

如题,纯css3实现的三个旋转的环,每个环利用一条边比另外三条边粗的特性,做出下面的效果,下面是详细代码:


1、html

<div class="bg">
<div class="wrap">
    <ul class="circle">
        <li><span></span></li>
        <li><span></span></li>
        <li><span></span></li>
    </ul>
</div>
</div>


2、css

ul,ol,li{
margin: 0;
padding: 0;
list-style: none;
}
.wrap {
    display: block;
    list-style: none;
    width: 500px;
    height: 500px;
    margin: 0 auto;
    border-radius: 50%;
    transform: rotateX(75deg) rotateY(-15deg) rotateZ(15deg);
    position: relative;
    transform-style: preserve-3d;
    z-index: 1;
    transition: width .3s, height .3s;
}
@keyframes rotateY {
    from {
        transform: rotateY(0deg);
    }
    to {
        transform: rotateY(360deg);
    }
}
.wrap .circle {
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
    animation: rotateY 18s linear infinite;
}
.circle li {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    border-radius: 50%;
    border: 5px solid #4BBAF2;
    background-color: transparent;
    box-sizing: border-box;
}
.circle li:nth-child(1) {
    transform: rotateX(0deg) rotateY(60deg) rotateZ(0deg);
}
.circle li:nth-child(2) {
    transform: rotateX(0deg) rotateY(120deg) rotateZ(0deg);
}
.circle li:nth-child(3) {
    transform: rotateX(0deg) rotateY(180deg) rotateZ(0deg);
}
.circle li span {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 5px solid;
    border-color: rgba(0, 82, 217, 1) rgba(0, 82, 217, .4) rgba(0, 82, 217, .3) rgba(255, 255, 255, .2);
    box-sizing: border-box;
    animation: rotate 3s linear infinite;
}
.circle li:nth-child(2) span {
    animation-delay: 1s;
}
.circle li:nth-child(2) span {
    animation-delay: 2s;
}