js实现三维文字墙球体圆锥体柱体等旋转效果代码

代码语言:html

所属分类:三维

代码描述:js实现三维文字墙球体圆锥体柱体等旋转效果代码

代码标签: 文字 球体 圆锥体 柱体 旋转 效果

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>

    <style>
@charset "utf-8";

        /*样式重置*/
        html,body {
            user-select: none;
            -moz-user-select: none;
            -webkit-user-select: none;
        }
        body,ul,ol,dl,dd,h1,h2,h3,h4,h5,h6,p,input,select,textarea,form {
            margin: 0;
            padding: 0;
        }
        ul,ol {
            list-style: none;
        }
        img {
            border: none;
            display: block;
        }
        input,select,textarea,button {
            outline: none;
            border: none;
            background-color: transparent;
        }
        textarea {
            resize: none;
        }
        a {
            text-decoration: none;
        }
        h1,h2,h3,h4,h5,h6 {
            font-size: 1em;
        }
        em {
            font-style: normal;
        }

        /*浮动*/
        .fl {
            float: left;
        }
        .fr {
            float: right;
        }
        .clearfix:after,
        .clearfix:before {
            content: "";
            display: table;
        }
        .clearfix:after {
            clear: both;
        }
        .clearfix {
            *zoom: 1;
        }


        html {
            height: 100%;
            overflow: hidden;
        }

        body {
            height: 100%;
            overflow: hidden;
            user-select: none;
            -moz-user-select: none;
            -webkit-user-select: none;
            background-repeat: no-repeat;
            background-position: center;
            background-size: 100% 100%;
            font-family: '微软雅黑';
            background-color: #131313;
        }

        li {
            list-style: none;
        }

        .middle {
            width: 1000px;
            height: 620px;
            position: absolute;
            left: 50%;
            top: 50%;
            margin-left: -500px;
            margin-top: -310px;
        }

        .scene {
            width: 400px;
            height: 400px;
            margin: 0 auto;
            perspective: 900px;
            -webkit-perspective: 900px;
            position: relative;
            transform-style: preserve-3d;
            -webkit-transform-style: preserve-3d;
            color: #16E5FF;
        }

        .box {
            width: 100%;
            height: 100%;
            position: relative;
            transform-style: preserve-3d;
            -webkit-transform-style: preserve-3d;
            perspective-origin: center 250px;
        }

        .ring {
            width: 100%;
            height: 100%;
            transform-style: preserve-3d;
            -webkit-transform-style: preserve-3d;
            position: absolute;
        }

        .ring li {
            line-height: 30px;
            text-align: center;
            font-size: 16px;
            position: absolute;
            margin-top: -25px;
            margin-left: -15px;
            transition: all .6s;
        }

        li.all {
            transition: all .6s cubic-bezier(.75,.25,1,1);
        }

        li.one {
            transition: transform .6s cubic-bezier(0,0,.25,.75);
        }

        .text {
            position: absolute;
            top: 30px;
            left: 50%;
            margin-left: -329px;
            padding: 15px 18px;
            width: 602px;
            height: 318px;
            border: 1px solid #e5e5e5;
            border-radius: 8px;
            box-shadow: 0 5px 5px #d4dbe1;
            background-color: #fff;
            transform: scale(.5);
            opacity: 0;
            transition: opacity .3s cubic-bezier(.15,.84,.35,1), transform .3s cubic-bezier(.15,.84,.35,1);
            display: none;
        }

        .text p {
            margin-bottom: 12px;
            font-size: 12px;
        }

        .text textarea {
            resize: none;
            width: 580px;
            height: 220px;
            padding: 10px;
            border: 1px solid #cacaca;
            border-radius: 8px;
            background-color: #f3f7fa;
            margin-bottom: 15px;
            color: #00a0e9;
        }

        .text a {
            position: absolute;
            top: 10px;
            right: 10px;
            width: 19px;
            height: 19px;
            background: url("//repo.bfw.wiki/bfwrepo/icon/5e0fe414dc9a1.png") no-repeat center;
        }

        .btn {
            margin: 0 auto;
            width: 260px;
            overflow: hidden;
        }

        .btn button {
            width: 120px;
            height: 30px;
            border: 1px solid #cacaca;
            border-radius: 15px;
            float: left;
        }

        .btn button:nth-of-type(1) {
            margin-right: 18px;
        }

        .table {
            width: 400px;
            margin: 20px auto 10px;
            overflow: hidden;
        }

        .table a {
            float: left;
            width: 100px;
            height: 12px;
            padding-top: 94px;
            font-size: 12px;
            line-height: 12px;
            text-align: center;
            color: #889199;
        }

        .table a:nth-of-type(1) {
            background: url("//repo.bfw.wiki/bfwrepo/images/sanwei/circle.png") no-repeat center 2px;
        }

        .table a:nth-of-type(2) {
            background: url("//repo.bfw.wiki/bfwrepo/images/sanwei/Cone.png") no-repeat center top;
        }

        .table a:nth-of-type(3) {
            background: url("//repo.bfw.wiki/bfwrepo/images/sanwei/Column.png") no-repeat center top;
        }

        .table a:nth-of-type(4) {
            background: url("//repo.bfw.wiki/bfwrepo/images/sanwei/Column2.png") no-repeat center top;
        }

        .table a:nth-of-type(1):hover {
            background: url("//repo.bfw.wiki/bfwrepo/images/sanwei/circle-hover.png") no-repeat center 2px;
        }

        .table a:nth-of-type(2):hover {
            background: url("//repo.bfw.wiki/bfwrepo/images/sanwei/Cone-hover.png") no-repeat center top;
        }

        .table a:nth-of-type(3):hover {
            background: url("//repo.bfw.wiki/bfwrepo/images/sanwei/Column-hover.png") no-repeat center top;
        }

        .table a:nth-of-type(4):hover {
            background: url("//repo.bfw.wiki/bfwrepo/images/sanwei/Column2-hover.png") no-repeat center top;
        }

        .table a:nth-of-type(1).active {
            background: url("//repo.bfw.wiki/bfwrepo/images/sanwei/circle-active.png") no-repeat center 2px;
        }

        .table a:nth-of-type(2).active {
            background: url("//repo.bfw.wiki/bfwrepo/images/sanwei/Cone-active.png") no-repeat center top;
        }

        .table a:nth-of-type(3).active {
            background: url("//repo.bfw.wiki/bfwrepo/images/sanwei/Column-active.png") no-repeat center top;
        }

        .table a:nth-of-type(4).active {
            background: url("//repo.bfw.wiki/bfwrepo/images/sanwei/Column2-active.png") no-repeat center top;
        }

        .line {
            width: 734px;
            height: 1px;
            margin: 0 auto 14px;
            background: -webkit-linear-gradient(left,#7ecef4,#94cc8e,#fff45c);
        }

        .btn2 {
            width: 204px;
            margin: 0 auto;
            overflow: hidden;
        }

        .btn2 button {
            width: 100px;
            height: 30px;
            border: 1px solid #cacaca;
            float: left;
        }

        .btn2 button:nth-of-type(1) {
            border-radius: 15px 0 0 15px;
        }

        .btn2 button:nth-of-type(2) {
            margin-left: -1px;
            border-radius: 0 15px 15px 0;
        }

        button {
            background: linear-gradient(#fff,#e3ecf3);
            color: #889199;
        }

        button:hover {
            background: linear-gradient(#fff,#bef5ff 10%,#6cb7df);
            border-color: #bef5ff;
            color: #00a0e9;
        }

        button:active {
            background: linear-gradient(#fff,#6cb7df 10%,#bef5ff);
        }

        button.active {
            background: linear-gradient(#fff,#6cb7df 10%,#bef5ff);
        }

        .item {
            width: 400px;
            padding: 30px;
            top: 100px;
            margin: -30px;
            position: fixed;
            transform: scale(2);
            -webkit-transform: scale(2);
            opacity: 0;
            display: none;
            transform-origin: center center 200px;
            -webkit-transform-origin: center center 200px;
            opacity: 0;
            transition: all .5s ease;
        }

        .item a {
            position: absolute;
            top: 10px;
            right: 10px;
            width: 19px;
            height: 19px;
            background: url("//repo.bfw.wiki/bfwrepo/icon/5d834b3fc7ffe.png") no-repeat center;
        }

        .item p {
            font-size: 14px;
            line-height: 24px;
            word-break: break-all;
        }

    </style>

</head>
<body>

    <div class="middle">
        <div class="scene">
            <div class="box">
                <ul class="ring">

                </ul>
            </div>
            <div class="item">
                <p>
                    北国风光,千里冰封,万里雪飘。望长城内外,惟余莽莽;大河上下,顿失滔滔。山舞银蛇,原驰蜡象,欲与天公试比高。须晴日,看红装素裹,分外妖娆。江山如此多娇,引无数英雄竞折腰。惜秦皇汉武,略输文采;唐宗宋祖,稍逊风骚。一代天骄,成吉思汗,只识弯弓射大雕。俱往矣,数风流人物,还看今朝。
                </p>
                <a href="javascript:;" class="close"></a>
            </div>
        </div>
        <div class="text">
            <p>
                在下面输入你自己的文字(建议50-350字)
            </p>
            <textarea cols="30" rows="10"></textarea>
            <div class="btn">
                <button>提交</button>
                <button>重置</button>
            </div>
            <a href="javascript:;" class="close"></a>
        </div>
        <div class="table">
            <a href="javascript:;" class="active">圆球</a>
            <a href="javascript:;">圆锥</a>
            <a href="javascript:;">柱状</a>
            <a href="javascript:;">柱状扭曲</a>
        </div>
        <div class="line"></div>
        <div class="btn2">
            <button>展开</button>
            <button>自定义文字</button>
        </div>
    </div>
    <script>
        function setCss3 (obj, attrObj) {
            for (var i in attrObj) {
                var newi = i;
                if (newi.indexOf("-") > 0) {
                    var num = newi.indexOf("-");
                    newi = newi.replace(newi.substr(num, 2), newi.s.........完整代码请登录后点击上方下载按钮下载查看

网友评论0