zoukankan      html  css  js  c++  java
  • 类vr特效的360度全景

    做法有点粗糙,没有去优化一下,只是使用了css3的技术去玩了一下;

    代码:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>3D-VR</title>
        <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport">
        <style>
        body{
            margin: 0;
        }
        html,body{
            width: 100%;
            height: 100%;
        }
        #wrap2{
            position: absolute;
            top: 0%;
            left: 0%;
            width: 100%;
            height: 100%;
            transform:translateZ(200px);
            -webkit-transform-style: preserve-3d;
            transform-style: preserve-3d;
            overflow: hidden;
            perspective: 300px;
        }
        #wrap{
            width: 1024px;
            height: 1024px;
            position: absolute;
            top: 50%;
            left: 50%;
            margin: -512px 0 0 -512px;
            border:1% solid #000;
            -webkit-transform-style: preserve-3d;
            transform-style: preserve-3d;
            transform: rotateY(0deg);
            transition: 20s;
        }
        .vr{
            width: 100%;
            height: 100%;
            color: #fff;
            position: absolute;
        }
        .vr:nth-of-type(1){
            background: url(img/neg-x.png) no-repeat;
            background-size: 100% 100%;
            
            transform: rotateY(0deg) translateZ(-512px);
            backface-visibility: hidden;
        }
        .vr:nth-of-type(2){
            background:  url(img/pos-z.png) no-repeat;
            background-size: 100% 100%;
            
            transform: rotateY(-90deg) translateZ(-512px);
            backface-visibility: hidden;
        }
        .vr:nth-of-type(3){
            background: url(img/pos-x.png) no-repeat;
            background-size: 100% 100%;
            
            transform: rotateY(-180deg) translateZ(-512px);
            backface-visibility: hidden;
        }
        .vr:nth-of-type(4){
            background: url(img/neg-z.png) no-repeat;
            background-size: 100% 100%;
            
            transform: rotateY(-270deg) translateZ(-512px);
            backface-visibility: hidden;
        }
        .vr:nth-of-type(5){
            background: url(img/pos-y.png) no-repeat;
            background-size: 100% 100%;
            
            transform: rotateX(-90deg) translateZ(-512px);
            backface-visibility: hidden;
        }
        .vr:nth-of-type(6){
            background: url(img/neg-y.png) no-repeat;
            background-size: 100% 100%;
            
            transform: rotateX(90deg) translateZ(-512px);
            backface-visibility: hidden;
        }
        </style>
    
    </head>
    <body>
    <!-- 3d盒子的原理上实现,就是六张图片拼成 -->
    <!-- 利用translate不移动原点的方式移动各个的相对于原点的位置,到达移动原点的方式
    而这也解决了ios的transform-origin不兼容问题
    只要移动祖先级就可以达到translate带来的缩放问题
    transform 执行顺序是最后写先执行
    
     -->
    <div id="wrap2">
        <div id="wrap">
            <div class="vr">1</div>
            <div class="vr">2</div>
            <div class="vr">3</div>
            <div class="vr">4</div>
            <div class="vr">5</div>
            <div class="vr">6</div>
        </div>
    </div>
    <script>
    window.onload=function(){
        document.querySelector("#wrap").onclick=function(){
            document.querySelector("#wrap").style.transform="rotateY(360deg)";
        }
    }
    </script>
    </body>
    </html>

  • 相关阅读:
    atitit.交换机 汇聚上联、网络克隆和标准共享的原理与区别
    Atitit.数据库分区的设计 attilax  总结
    Atitit.数据库分区的设计 attilax  总结
    Atitit.常用分区api的attilax总结
    Atitit.常用分区api的attilax总结
    Atitit.  单列索引与多列索引 多个条件的查询原理与设计实现
    Atitit.  单列索引与多列索引 多个条件的查询原理与设计实现
    Atitit.sql where条件表达式的原理  attilax概括
    Atitit.sql where条件表达式的原理  attilax概括
    Atitit.分区对索引的影响 分区索引和全局索引 attilax总结
  • 原文地址:https://www.cnblogs.com/zhangzhicheng/p/6624581.html
Copyright © 2011-2022 走看看