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>

  • 相关阅读:
    vue单文件组件形成父子(子父)组件之间通信(vue父组件传递数据给子组件,子组件传递数据给父组件)
    appium 问题四的解决办法(模拟器打开的页面弹出框与脚本打开页面的弹出框不一致)
    appium 自动化问题三--键盘关键字的使用
    RF+appium自动化问题二解决思路
    appium自动化滑动鼠标滚动条的用法
    appium自动化中元素定位碰到的问题一
    appium自动化时,输入中文不显示的问题解决
    appium自动化模拟器使用
    pycharm 无法识别selenium,appium等工具时的解决办法
    Mysql基础学习(二)之DQL的使用
  • 原文地址:https://www.cnblogs.com/zhangzhicheng/p/6624581.html
Copyright © 2011-2022 走看看