1.使用css3实现大转盘

家电维修 2023-07-16 19:17www.caominkang.com家电维修技术

先上效果图,如图所示

最终效果

第一步画个父容器+12个子容器(扇叶)

将父容器居中,子容器使用absolute定位,基本代码如下


    
        
        
        
        
            body {                display: flex;                height: 95vh;                align-items: center;                justify-content: center;
            }            .container {                position: relative;                idth: 150px;                height: 150px;                background-color: #008B64;
            }            .item {                position: absolute;                : 0px;                left: 0px;                idth: 150px;                height: 80px;                background-color: #A52A2A;
            }        
    
    
        
            
            
            
            
            
            
            
            
            
            
            
            
        
    

效果如图

初始页面

第二步将子容器改成等边三角形

可以通过border来实现三角形的效果,border-left设置为none,border-和boder-bottom设置宽度为40px并透明,border-right宽度设置为150px,我们需要将本身的idth和height设置为0,background-color去掉。

以下css只显示修改或者新增的属性

.item {  
    idth: 0px;    height: 0px;    border: 40px solid transparent;    border-left-idth: 0px;    border-right: 150px solid #A52A2A;
}

效果如图所示

利用border实现三角形

第三步将三角形的顶点对准父容器中心

可以通过left和进行定位,这里使用了calc函数,,也可以在纸上计算出具体值填上来。

.item {    : calc(50% - 40px);    left: 50%;
}

效果如下

将三角形顶点对准父容器中心

第四步将子容器的变换原点设置到三角形的顶点,并通过Javascript将子容器围绕原点旋转一周

transfrom-origin设置三角形的变换原点到顶点的,使用jQuery逐个旋转三角形,每个相差30度。

.item {    transform-origin: 0px 50%;
}

效果如下

旋转三角形,围成一圈

到这一步,核心的技巧已经介绍完了,下面只是做些界面上的优化。

第四步: 子容器单双采用不同的颜色
.item:nth-child(odd){    border-right-color: cornfloerblue;
}.item:nth-child(even){    border-right-color: #A52A2A;
}

单双变色

第五步使用keyframe让大转盘旋转
.container {    animation: run-rotate 3s ease-out infinite;
}
@keyframes run-rotate{    from {        transform: rotateZ(0deg);
    }    to {        transform: rotateZ(calc(360deg  3));
    }
}

最终效果如下

点击查看效果



作者农场主的鸡
链接https://.jianshu./p/d6dc2313ad23


Copyright © 2016-2025 www.jianfeikang.com 建飞家电维修 版权所有 Power by