CSS3 3D 球体自转特效

CSS3 3D 球体自转特效

transform-style: preserve-3d;设置父级元素,它的子级元素具有3d效果,再设置子元素沿Y 轴的 3D 旋转。
[注:线条看个人喜欢适当减少]

在这里插入图片描述
html代码如下

<div class="box">
        <div class="star">
            <div class="starline"></div>
				<div class="starline"></div>
				<div class="starline"></div>
				<div class="starline"></div>
				<div class="starline"></div>
				<div class="starline"></div>
				<div class="starline"></div>
				<div class="starline"></div>
				<div class="starline"></div>
				<div class="starline"></div>
				<div class="starline"></div>
				<div class="starline"></div>
				<div class="starline"></div>
				<div class="starline"></div>
				<div class="starline"></div>
				<div class="starline"></div>
				<div class="starline"></div>
                <div class="starline"></div>
                <div class="starline"></div>
				<div class="starline"></div>
				<div class="starline"></div>
				<div class="starline"></div>
				<div class="starline"></div>
				<div class="starline"></div>
				<div class="starline"></div>
				<div class="starline"></div>
				<div class="starline"></div>
				<div class="starline"></div>
				<div class="starline"></div>
				<div class="starline"></div>
				<div class="starline"></div>
				<div class="starline"></div>
				<div class="starline"></div>
				<div class="starline"></div>
                <div class="starline"></div>
                <div class="starline"></div>
        </div>
    </div>

CSS代码如下:

html,
body{
    height: 100%;
    padding: 0;
    margin: 0;
    background:black;
    perspective: 1000px;
    overflow: hidden;
    background-size: 100% auto ;
}
.box{
    transform-style: preserve-3d;
    height: 100%;
    transform: rotateX(70deg) rotateY(-20deg);
}
.star{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 300px;
    height: 300px;
    transform-style: preserve-3d;
    /*border: 1px solid #fff;*/
    animation: starrotate 10s linear;
    animation-iteration-count: infinite;
}
.starline{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 100%;
    height: 100%;
    border: 1px solid #FFD700;
    border-radius: 50%;
}
.starline:nth-child(1){
    transform: rotateY(10deg);
}
.starline:nth-child(2){
    transform: rotateY(20deg);
}
.starline:nth-child(3){
    transform: rotateY(30deg);
}
.starline:nth-child(4){
    transform: rotateY(40deg);
}
.starline:nth-child(5){
    transform: rotateY(500deg);
}
.starline:nth-child(6){
    transform: rotateY(60deg);
}
.starline:nth-child(7){
    transform: rotateY(70deg);
}
.starline:nth-child(8){
    transform: rotateY(80deg);
}
.starline:nth-child(9){
    transform: rotateY(90deg);
}
.starline:nth-child(10){
    transform: rotateY(100deg);
}
.starline:nth-child(11){
    transform: rotateY(110deg);
}
.starline:nth-child(12){
    transform: rotateY(120deg);
}
.starline:nth-child(13){
    transform: rotateY(130deg);
}
.starline:nth-child(14){
    transform: rotateY(140deg);
}
.starline:nth-child(15){
    transform: rotateY(150deg);
}
.starline:nth-child(16){
    transform: rotateY(160deg);
}
.starline:nth-child(17){
    transform: rotateY(170deg);
}
.starline:nth-child(18){
    transform: rotateY(180deg);
}
.starline:nth-child(19){
    transform: rotateX(10deg);
}
.starline:nth-child(20){
    transform: rotateX(20deg);
}
.starline:nth-child(21){
    transform: rotateX(30deg);
}
.starline:nth-child(22){
    transform: rotateX(40deg);
}
.starline:nth-child(23){
    transform: rotateX(50deg);
}
.starline:nth-child(24){
    transform: rotateX(60deg);
}
.starline:nth-child(25){
    transform: rotateX(70deg);
}
.starline:nth-child(26){
    transform: rotateX(80deg);
}
.starline:nth-child(27){
    transform: rotateX(90deg);
}
.starline:nth-child(28){
    transform: rotateX(100deg);
}
.starline:nth-child(29){
    transform: rotateX(110deg);
}
.starline:nth-child(30){
    transform: rotateX(120deg);
}
.starline:nth-child(31){
    transform: rotateX(130deg);
}
.starline:nth-child(32){
    transform: rotateX(140deg);
}
.starline:nth-child(33){
    transform: rotateX(150deg);
}
.starline:nth-child(34){
    transform: rotateX(160deg);
}
.starline:nth-child(35){
    transform: rotateX(170deg);
}
.starline:nth-child(36){
    transform: rotateX(180deg);
}
@keyframes starrotate{
    from{transform: rotateZ(0deg);}
    to{transform: rotateZ(360deg);}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值