美文网首页
【转载】用CSS动态展示有立体效果的APP截图

【转载】用CSS动态展示有立体效果的APP截图

作者: 天下第九九八十一 | 来源:发表于2021-06-27 18:35 被阅读0次

    移动应用展示的 3D 效果

    移动应用程序展示的精美 3D 效果,其中应用程序屏幕动画显示为分层堆栈。

    机翻改,转自 Codrops,《3D Effect for Mobile App Showcase》
    原文图片以及部分链接丢失,但演示、下载链接仍可访问,源码以此MIT协议开源,允许商用。

    原文由 Mary Lou 写于 2013 年 8 月 1 日,原本在 Codrops 的Playground 中实现。

    演示 (支持在移动设备观赏): http://tympanus.net/Development/3DEffectMobileShowcase/

    下载源 :http://tympanus.net/Development/3DEffectMobileShowcase/3DEffectMobileShowcase.zip


    今天我们想与您分享一个实验性的 3D 效果。它涉及一个 3D 移动设备和一些移动应用程序截图。单击切换按钮时,我们将为移动设备设置动画以进行旋转,并移动每个屏幕,以便最终获得分层视图。您以前肯定见过这种应用程序的演示,我们认为用 CSS 来做它可能会很有趣。

    请注意:这仅在支持相应 CSS 属性的浏览器中按预期工作。仅限现代浏览器!

    这个想法是通过轻微的初始旋转来定位移动设备:

    然后我们将一个CSS类应用给布局容器,这将使设备转换到第二个位置,而且屏幕会以分层堆栈的形式移出。

    效果一如下:

    第二种效果有不同的旋转:

    第三个还会显示一些文字标签:

    展开的屏幕是锚点元素,因此你们可以将它们实际链接到最终的信息页面。这里有很多可能性,去疯吧。

    包含一个 SCSS 文件,用于处理设备的一些尺寸变量和其他一些变量。

    模拟的 3D 手机运用了一种圆角技术,涉及侧面的伪元素,最初由出色的网页设计师和开发人员 Jonathan Levaillant 设计并 实施

    我们希望您喜欢这些效果,并希望它们能给您一些启发。


    转载评论:
    简直美极了,伟大的作品! 睿智又圆润,而且 —— 来自于未来一般,难道是2020年吗? 做得好。
    请给我发私信。 我想谈谈一点儿事情。

    干杯,继续做你正在做的事情,玛丽,你是最棒的。

    问候。

    另有见此原文,试其代码者,代码转贴下方,有缺陷(图片素材缺失、收起动画BUG),但总计不过两百行,得其要也。存为HTML文件即可观赏。

    <style type="text/css">
    body {
        background:#d2d1d5;
    }
    .tg-wrap {
        width:100%;
        height:80px;
    }
    .btn {
        display:block;
        border:1px solid white;
        border-radius:20px;
    }
    .toggle {
        width:100px;
        height:40px;
        margin:10px auto;
        color:white;
        cursor:pointer;
        text-align:center;
        line-height:40px;
    }
    .pe-wrap {
        width:100%;
        height:700px;
        position:relative;
    }
    .pe-perspective {
        perspective:1200px;
        perspective-origin:0% 0%;
        position:relative;
        width:310px;
        height:630px;
        margin:0 auto;
    }
    .pe-device {
        width:100%;
        height:100%;
        position:relative;
        transform-style:preserve-3d;
        transition:transform 0.5s ease-in-out;
        transform:rotateX(10deg) rotateY(17deg);
    }
    .pe-object {
        width:100%;
        height:100%;
        position:absolute;
        left:0;
        top:0;
        z-index:-1;
    }
    .pe-object .pe-front {
        width:100%;
        height:100%;
        background:url("http://o93mwnwp7.bkt.clouddn.com/demo/phone/iphone_white.png") no-repeat top left;
        background-size:100% 100%;
    }
    .pe-pages {
        position:absolute;
        left:18.29px;
        top:74px;
        width:272.8px;
        height:482.391px;
    }
    .pe-pages div {
        position:absolute;
        left:0;
        top:0;
        width:100%;
        height:100%;
        cursor:pointer;
    }
    .pe-pages .page-1 {
        background:url("https://tympanus.net/Development/3DEffectMobileShowcase/images/screen1_1.png") no-repeat center center;
        background-size:100% 100%;
        transition:transform 0.7s ease-in-out 0.35s,opacity 0.4s;
    }
    .pe-pages .page-2 {
        background:url("https://tympanus.net/Development/3DEffectMobileShowcase/images/screen1_2.png") no-repeat center center;
        background-size:100% 100%;
        transition:transform 0.7s ease-in-out 0.3s,opacity 0.4s;
    }
    .pe-pages .page-3 {
        background:url("https://tympanus.net/Development/3DEffectMobileShowcase/images/screen1_3.png") no-repeat center center;
        background-size:100% 100%;
        transition:transform 0.7s ease-in-out 0.25s,opacity 0.4s;
    }
    .pe-pages .page-4 {
        background:url("https://tympanus.net/Development/3DEffectMobileShowcase/images/screen1_4.png") no-repeat center center;
        background-size:100% 100%;
        transition:transform 0.7s ease-in-out 0.2s,opacity 0.4s;
    }
    .pe-pages .page-5 {
        background:url("https://tympanus.net/Development/3DEffectMobileShowcase/images/screen1_5.png") no-repeat center center;
        background-size:100% 100%;
        transition:transform 0.7s ease-in-out 0.15s,opacity 0.4s;
    }
    .expand-view .pe-device {
        transform:rotateY(50deg) rotateX(20deg) translateZ(-15px) translateZ(-285px);
    }
    .expand-view .pe-pages:hover:not(.active) {
        opacity:0.1;
    }
    .expand-view .page-1 {
        transform:translateZ(85px);
    }
    .expand-view .page-2 {
        transform:translateZ(155px);
    }
    .expand-view .page-3 {
        transform:translateZ(225px);
    }
    .expand-view .page-4 {
        transform:translateZ(295px);
    }
    .expand-view .page-5 {
        transform:translateZ(365px);
    }
    
    </style>
    
    <body>
    
    
    <div class="tg-wrap">
        <div id="j-toggle" class="btn toggle">Toggle</div>
    </div>
    <div class="pe-wrap">
        <div id="j-view" class="pe-perspective">
            <div class="pe-device">
                <div class="pe-object">
                    <div class="pe-front"></div>
                </div>
                <div class="pe-pages" id="jPageList">
                    <div class="page-1"></div>
                    <div class="page-2"></div>
                    <div class="page-3"></div>
                    <div class="page-4"></div>
                    <div class="page-5"></div>
                </div>
            </div>
        </div>
    </div>
    
    <script>
    function toggleView(){
        document.querySelector("#j-view").classList.toggle("expand-view");
    }
    
    // 切换事件
    document.querySelector("#j-toggle").addEventListener("click",toggleView,false)
    
    // 鼠标划过事件
    const aPages = document.getElementById("jPageList").getElementsByTagName("div");
    
    // 循环添加鼠标滑进滑出事件
    [].slice.call(aPages).forEach((item,index)=>{   item.addEventListener("mouseenter",function(){
            this.classList.add("active");
        },false)
        item.addEventListener("mouseleave",function(){
            this.classList.remove("active");
        },false)
    })
    </script>
    
    </body>
    

    然而,百度第一行关键词,我发现了…… http://www.htmleaf.com/ziliaoku/qianduanjiaocheng/20141021252.html

    https://tympanus.net/codrops 这个网站有许多webgl结合文本页面的demo,比如https://tympanus.net/codrops/2019/12/20/how-to-create-the-apple-fifth-avenue-cube-in-webgl/https://tympanus.net/Tutorials/the-substance/,点击页面上的“Previouse demo”就可以切换上一个,不知如何切换下一个 。

    有些年代久远的demo访问很慢。Jquery 之家搜集了一部分,可以去找,此网站可以找到关联或者有趣的demo,最重要的是无需登录。

    相关文章

      网友评论

          本文标题:【转载】用CSS动态展示有立体效果的APP截图

          本文链接:https://www.haomeiwen.com/subject/rfmxultx.html