CSS 3D球形旋转

css+html即可实现3D球形旋转效果你敢信?你可以信!废话不多说,直接上代码!

html 复制代码
<html>
<head>
</head>
<body>
<div id="box-preserve-3d">
    <div class="ball-center-x"></div>
    <div class="ball-center-x-one"></div>
    <div class="ball-center-x-two"></div>
    <div class="ball-center-x-three"></div>
    <div class="ball-center-x-four"></div>
    <div class="ball-center-x-five"></div>
    <div class="ball-center-y"></div>
    <div class="ball-center-y-one"></div>
    <div class="ball-center-y-two"></div>
    <div class="ball-center-y-three"></div>
    <div class="ball-center-y-four"></div>
    <div class="ball-center-y-five"></div>
    <div id="top">系</div>
    <div id="bottom">统</div>
    <div id="left">用</div>
    <div id="right">迎</div>
    <div id="front">欢</div>
    <div id="back">使</div>
</div>
<style>
    body{
        background:#000;
    }
    #box-perspective{
        width: 100px;height: 100px;margin: auto;margin-top: 50px;
        perspective: 800px;
        perspective-origin: 50% 50%;
    }
    #box-preserve-3d {
        position: absolute;
        width: 100px;height: 100px;
        transform-style: preserve-3d;
        margin: 20%;
    }
    #box-preserve-3d div {
        position: absolute;
        width: 100px;
        height: 100px;
        text-align: center;
        line-height: 100px;
    }
    .ball-center-x{
        border:1px solid red;
        border-radius: 100px;
        width: 200px;
        height: 200px;
        transform: rotateY(-90deg);
        transform-origin: 50% 50%;
    }
    .ball-center-x-one{
        border:1px solid green;
        border-radius: 100px;
        width: 200px;
        height: 200px;
        transform: rotateY(0deg);
        transform-origin: 50% 50%;
    }
    .ball-center-x-two{
        border:1px solid blue;
        border-radius: 100px;
        width: 200px;
        height: 200px;
        transform: rotateY(30deg);
        transform-origin: 50% 50%;
    }
    .ball-center-x-three{
        border:1px solid yellow;
        border-radius: 100px;
        width: 200px;
        height: 200px;
        transform: rotateY(60deg);
        transform-origin: 50% 50%;
    }
    .ball-center-x-four{
        border:1px solid yellow;
        border-radius: 100px;
        width: 200px;
        height: 200px;
        transform: rotateY(120deg);
        transform-origin: 50% 50%;
    }
    .ball-center-x-five{
        border:1px solid yellow;
        border-radius: 100px;
        width: 200px;
        height: 200px;
        transform: rotateY(150deg);
        transform-origin: 50% 50%;
    }
    .ball-center-y{
        border:1px solid pink;
        border-radius: 100px;
        width: 200px;
        height: 200px;
        transform: rotateX(90deg);
        transform-origin: 50% 50%;
    }
    .ball-center-y-one{
        border:1px solid purple;
        border-radius: 100px;
        width: 200px;height: 200px;
        transform: rotateX(0deg);
        transform-origin: 50% 50%;
    }
    .ball-center-y-two{
        border:1px solid cyan;
        border-radius: 100px;
        width: 200px;height: 200px;
        transform: rotateX(30deg);
        transform-origin: 50% 50%;
    }
    .ball-center-y-three{
        border:1px solid orange;
        border-radius: 100px;
        width: 200px;height: 200px;
        transform: rotateX(60deg);
        transform-origin: 50% 50%;
    }
    .ball-center-y-four{
        border:1px solid orange;
        border-radius: 100px;
        width: 200px;height: 200px;
        transform: rotateX(120deg);
        transform-origin: 50% 50%;
    }
    .ball-center-y-five{
        border:1px solid orange;
        border-radius: 100px;
        width: 200px;height: 200px;
        transform: rotateX(150deg);
        transform-origin: 50% 50%;
    }
    #box-perspective{
        width: 100px;height: 100px;margin-left: 260px;margin-top: 222px;
        perspective: 800px;
        perspective-origin: 50% 50%;
    }
    #box-preserve-3d {
        position: absolute;
        width: 100px;height: 100px;
        transform-style: preserve-3d;
    }
    #box-preserve-3d div {
        position: absolute;
        width: 100px;
        height: 100px;
        text-align: center;
        line-height: 100px;
        color: white;
        font-size: 26px;
    }
    #top{
        /*background-image: url('../images/top.png');*/
        background-size: 100px;
        background: red;
        transform: rotateX(90deg) translateZ(100px);
        transform-origin: 50% 50%;
    }
    #bottom{
        /*background-image: url('../images/top.png');*/
        background-size: 100px;
        background: red;
        transform: rotateX(-90deg) translateZ(100px);
        transform-origin: 50% 50%;
    }
    #left{
        /*background-image: url('../images/left.png');*/
        background-size: 100px;
        background: red;
        transform: rotateY(90deg) translateZ(100px);
        transform-origin: 50% 50%;
    }
    #right{
        /*background-image: url('../images/left.png');*/
        background-size: 100px;
        background: red;
        transform: rotateY(-90deg) translateZ(100px);
        transform-origin: 50% 50%;
    }
    #front{
        /*background-image: url('../images/front.png');*/
        background-size: 100px;
        background: red;
        transform: translateZ(100px);
        transform-origin: 50% 50%;
    }
    #back{
        /*background-image: url('../images/front.png');*/
        background-size: 100px;
        background: red;
        transform: translateZ(-100px) rotateY(-180deg);
        transform-origin: 50% 50%;
    }

    @keyframes turn3d {
        0% { transform: rotateY(0) rotateX(0deg); }
        100% { transform: rotateY(360deg) rotateX(360deg); }
    }

    #box-preserve-3d {
        animation: turn3d 10s infinite linear;
    }
    .loginbox{
        position: fixed;
        width: 455px;
        top: 15%;
        right: 25%;
    }
    .loginbox>div{
        background-color: white;
        border-radius: 4px;
        box-shadow: 5px 5px 20px #4444;
        padding: 20px;
    }
</style>
</body>
</html>
相关推荐
koiy.cc4 分钟前
记录:echarts实现tooltip的某个数据常显和恢复
前端·echarts
一只专注api接口开发的技术猿13 分钟前
企业级电商数据对接:1688 商品详情 API 接口开发与优化实践
大数据·前端·爬虫
GISer_Jing15 分钟前
[前端高频]数组转树、数组扁平化、深拷贝、JSON.stringify&JSON.parse等手撕
前端·javascript·json
Yvonne爱编码1 小时前
CSS- 4.1 浮动(Float)
前端·css·html·github·html5·hbuilder
timeguys1 小时前
【前端】[vue3] [uni-app]使用 vantUI 框架
前端·uni-app
岁岁岁平安1 小时前
Vue3学习(组合式API——Watch侦听器、watchEffect()详解)
前端·javascript·vue.js·学习·watch侦听器·组合式api
uwvwko2 小时前
BUUCTF——web刷题第一页题解
android·前端·数据库·php·web·ctf
有事没事实验室2 小时前
CSS 浮动与定位以及定位中z-index的堆叠问题
前端·css·开源
2501_915373883 小时前
Vue路由深度解析:Vue Router与导航守卫
前端·javascript·vue.js
小妖6663 小时前
前端表格滑动滚动条太费事,做个浮动滑动插件
前端