CSS3_3D效果(IE10_火狐_谷歌)

好久没写博客了,看了下记录,上次最后写的最后一篇已经是8月1号了,最近有些小东西整理下,当巩固吧

废话少说,直奔本文主题

css3提供了很多新鲜好玩的东西,transform就是其中一个,可以进行 2D 或 3D 转换。先来看看兼容性:

导航菜单

rotateX(deg)——沿着 X 轴的 3D 旋转

translateZ(25px)——定义 3D 转换,只是用 Z 轴的值

元素内两个span,后者图片背景叠加的效果,背景也渐变处理

效果:

代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>导航菜单</title>
    <style>
        *{padding:0;margin:0;}
        .nav{background: #222;height:50px;}
        ul{width: 1150px;margin:0 auto;font-size: 16px;color: #fff}
        li{float: left;padding:0 20px;position: relative;list-style: none;height:50px;line-height: 50px;text-align: center;perspective:1150px;background-color: #74adaa}
        .nav_3d,.nav_3d span{position: absolute;top:0;left:0;width: 100%;height: 100%;}
        .nav_3d{transition:all 0.3s linear;transform-style: preserve-3d;}
        .nav_3d span:first-child{transform:rotateX(0deg) translateZ(25px);}
        .nav_3d span:last-child{transform:rotateX(-90deg) translateZ(25px);}
        li:hover .nav_3d{transform:translateZ(-25px) rotateX(90deg);}
        li:hover .nav_3d span{background:#51938F linear-gradient(45deg, #478480 25%, transparent 25%, transparent 75%, #478480 75%, #478480);background-size: 5px 5px;}
    </style>
</head>
<body>
    <div class="nav">
        <ul>
            <li>首页<div class="nav_3d"><span>首页</span><span>首页</span></div></li>
            <li>破解<div class="nav_3d"><span>破解</span><span>破解</span></div></li>
            <li>单击<div class="nav_3d"><span>单击</span><span>单击</span></div></li>
            <li>网游<div class="nav_3d"><span>网游</span><span>网游</span></div></li>
            <li>资讯<div class="nav_3d"><span>资讯</span><span>资讯</span></div></li>
            <li>排行榜<div class="nav_3d"><span>排行榜</span><span>排行榜</span></div></li>
            <li>专题<div class="nav_3d"><span>专题</span><span>专题</span></div></li>
            <li>工具<div class="nav_3d"><span>工具</span><span>工具</span></div></li>
        </ul>
    </div>
</body>
</html>

翻转图片

translateZ(-137px) rotateY(90deg); 跟上面的类似下面有做了四向的处理,自行改造哈

效果:

代码:

<!doctype html>
<htmllang="en">
<head>
    <meta charset="UTF-8">
    <title>翻转图片</title>
    <style>
        *{padding:0;margin:0;}
        .content{text-align: center;width: 1000px;margin:0 auto;}
        h1{margin:20px 0;}
        /*perspective 元素距离视图的距离,定义 3D 元素距视图的距离*/
        .box{display: inline-block;width: 274px;height:390px;margin:20px;position: relative;overflow: hidden;perspective: 5000px;}
        .block{height: 390px;transform-style: preserve-3d;transition:transform .6s;}
        .block img{display: block;position: absolute;width: 274px;height: 390px;transition: all .6s;}
        .block p{display: block;position: absolute;width: 274px;height: 390px;text-align: left;background:linear-gradient(to bottom,#fff,#3ef);transition: all .6s;}
        /*下翻上*/
        /*.block img{transform: translateZ(195px);}
        .block p{transform: rotateX(-90deg) translateZ(195px);}
        .block:hover{transform:translateZ(-195px) rotateX(90deg);}*/

        /*上翻下*/
       /* .block img{transform: translateZ(195px);}
        .block p{transform: rotateX(90deg) translateZ(195px);}
        .block:hover{transform:translateZ(-195px) rotateX(-90deg);}*/

        /*左翻右*/
        /*.block img{transform: translateZ(137px);}
        .block p{transform: rotateY(90deg) translateZ(137px);}
        .block:hover{transform:translateZ(-137px) rotateY(-90deg);}*/

        /*右翻左*/
        .block img{transform: translateZ(137px);}
        .block p{transform: rotateY(-90deg) translateZ(137px);}
        .block:hover{transform:translateZ(-137px) rotateY(90deg);}
    </style>
</head>
<body>
    <div class="content">
        <h1>CSS3——3D转转图片</h1>
        <h1>寒战2</h1>
        <div class="box">
            <div class="block">
                <img src="img/1.jpg" alt="">
                <p><strong>刘杰辉</strong><br/><br/>新晋香港警队警务处处长,能力越大,责任越大,他的每一句话、每一个决定都会影响到整个大局。针对他的阴谋重重袭来,其妻儿又遭遇绑架,不仅职权地位岌岌可危,身家性命更受到威胁。</p>
            </div>
        </div>
        <div class="box">
            <div class="block">
                <img src="img/2.jpg" alt="">
                <p><strong>李文斌</strong><br/><br/>前警务处行动副处长,本来已经开始过着退休的生活,也再次卷入风波,儿子李家俊又要有大动作,他也没办法幸免,既要把他绳之于法,还要保住他的命。他觉得如果刘杰辉继续带领警队的话,警队会变成很大的麻烦,所以要重返警队。 </p>
            </div>
        </div>
        <div class="box">
            <div class="block">
                <img src="img/3.jpg" alt="">
                <p><strong>梁紫薇</strong><br/><br/>原香港警队公共关系科主管,现升职为高级助理处长,再度成为新晋警务处处长刘杰辉的左臂右膀。职责由警队的发言人进一步转变为寒战行动中的核心人员。</p>
            </div>
        </div>
        <div class="box">
            <div class="block">
                <img src="img/4.jpg" alt="">
                <p><strong>欧咏恩</strong><br/><br/>大律师简奥伟的爱徒,和师傅的关系情同父女,简奥伟也相当于父亲一样照顾她。欧咏恩看似文静但内心非常自信强势,隐隐透着几分坚忍。 </p>
            </div>
        </div>
        <div class="box">
            <div class="block">
                <img src="img/5.jpg" alt="">
                <p><strong>简奥伟</strong><br/><br/>资深大律师、议员。他的出现将警队内部的矛盾升级为整个香港执法与律法之间的矛盾。将掀起司法界对警界的问责之战,从警界拓展到整个香港政治圈。  </p>
            </div>
        </div>
        <div class="box">
            <div class="block">
                <img src="img/6.jpg" alt="">
                <p><strong>李家俊</strong><br/><br/>李文斌之子,是一个智商极高又非常冷静的犯罪天才,这个不安定分子再次陷入情与法的纠葛,他是整个香港警队的头号公敌,为了他整个香港警队四分五裂,有人要保他,有人要捉他,几乎每个人都因为他而非常惨。 </p>
            </div>
        </div>
        <div class="box">
            <div class="block">
                <img src="img/7.jpg" alt="">
                <p><strong>张国标</strong><br/><br/>廉政公署首席调查主任。是一个想用个人的力量去证明一些东西的人,他很想证明给全世界看,他凭借自己的个人能力就可以改变局面。</p>
            </div>
        </div>
        <div class="box">
            <div class="block">
                <img src="img/8.jpg" alt="">
                <p><strong>何国正</strong><br/><br/>前华裔英兵,退役的警队精英,是个亦正亦邪人物,一方面和黑暗势力勾结,制造一系列爆炸、枪击事件,另一方面,他曾是香港警队警务处副处长李文彬的得力干将,两人关系如父如子。他还为李文彬在1995年的某事件中背了黑锅,假死后隐姓埋名。 </p>
            </div>
        </div>
        <div class="box">
            <div class="block">
                <img src="img/9.jpg" alt="">
                <p><strong>蔡元祺</strong><br/><br/>香港前警务处处长,老谋深算的警界高层,亲自出面拉拢李文彬,他透露自己有律政司出面加上有很多有权力的人,能够帮助李文彬重返警队,当上处长。 </p>
            </div>
        </div>
    </div>
</body>
</html>

旋转木马

rotateY(0deg) translateZ(195px) 类似那段js 处理的是点击效果

效果:

代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>旋转木马</title>
    <style>
        h1{text-align: center;}
        .content{margin:0 auto;perspective: 800px;}
        .box{height:390px;width:128px;margin:20px auto;position: relative;transform-style: preserve-3d;transition:transform .6s;}
        .box img{display: block;position: absolute;width: 128px;bottom:0;transition: all .6s;}
        .box img:nth-child(1) { transform: rotateY(0deg) translateZ(195px); }
        .box img:nth-child(2) { transform: rotateY(40deg) translateZ(195px); }
        .box img:nth-child(3) { transform: rotateY(80deg) translateZ(195px); }
        .box img:nth-child(4) { transform: rotateY(120deg) translateZ(195px); }
        .box img:nth-child(5) { transform: rotateY(160deg) translateZ(195px); }
        .box img:nth-child(6) { transform: rotateY(200deg) translateZ(195px); }
        .box img:nth-child(7) { transform: rotateY(240deg) translateZ(195px); }
        .box img:nth-child(8) { transform: rotateY(280deg) translateZ(195px); }
        .box img:nth-child(9) { transform: rotateY(320deg) translateZ(195px); }
    </style>
    <script>
        var index=1;
        function tra(d){
            var boxObj=document.getElementById(‘box‘);
            boxObj.style["transform"]="rotateY("+(-index)*40+"deg)";
            index++;
        }
    </script>
</head>
<body>
    <h1>旋转木马</h1>
    <div class="content">
        <div class="box" id="box">
            <img onclick="tra(1)" src="img/1.jpg" alt="">
            <img onclick="tra(2)" src="img/2.jpg" alt="">
            <img onclick="tra(3)" src="img/3.jpg" alt="">
            <img onclick="tra(4)" src="img/4.jpg" alt="">
            <img onclick="tra(5)" src="img/5.jpg" alt="">
            <img onclick="tra(6)" src="img/6.jpg" alt="">
            <img onclick="tra(7)" src="img/7.jpg" alt="">
            <img onclick="tra(8)" src="img/8.jpg" alt="">
            <img onclick="tra(9)" src="img/9.jpg" alt="">
        </div>
    </div>
</body>
</html>

再说两句

demo下载:CSS3_3D效果(IE10_火狐_谷歌).rar

1.效果还有很多种,有新鲜好玩的可以@我

2.要类似效果的业务场景不多,而且兼容也不是很理想,但是再往后肯定是会成主流吧

3.H5 画布好像可以弄成很多好玩的,有学习的地址么?

时间: 2024-08-25 17:51:34

CSS3_3D效果(IE10_火狐_谷歌)的相关文章

关于IE和火狐,谷歌,Safari对Html标签Object和Embed的支持问题

关于IE和火狐,谷歌,Safari对Html标签Object和Embed的支持问题 首先IE只支持对Object的解析. 火狐,谷歌,Safari只支持对Embed的解析. 一.传统的方法 <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/ swflash.cab#

微信访问页面,莫名其妙刷新两次,火狐、谷歌、ie无问题

做微信刮刮卡活动,有个用户刮奖次数的限制,昨天一切正常,所以就改动了一些东西,今天再打开的时候刮奖次数第一次是1,第二次是3,第三次是5,感觉就是页面刷新了两遍.检查前后台代码,发现一些bug就顺手修改了,其实不是造成这个问题的真正原因.没办法,自己写了个一个计数器,计算访问当前页面的次数,发现在微信里面从1直接跳到3,然后跳到5,其他pc浏览器一点问题木有.从后台代码,检查到前台html,断点似的,就是先清空php代码,测试html显示时是否跳过,然后在清空html代码,测试运行后台代码时,是

弹出框关闭图标在火狐和谷歌下生效,在IE11下不生效处理

1.问题描述: 如下图弹出框,卸载码为第一个弹出框,检索设备为第二个弹出框,第二个弹出框的关闭图标"X"在火狐和谷歌下生效,点击可以关闭弹出框,而在IE11下点击不生效,无法关闭弹出框. 2.解决思路: 不兼容IE,在IE下console下会报错,所以考虑给关闭图标加上一个"点击事件". 二种处理方式: 一.首先,获取该iframe层的times值(times值是变化的,初次是2,页面没重新加载的再点击就依次加1) var index=$(window.parent

向上下左右不间断无缝滚动图片的效果(兼容火狐和IE)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

js 利用canvas + flv.js实现 视频流 截屏 、本地下载功能实现,兼容火狐,谷歌, 截屏跨域的坑

1 本地视频截屏(canvsa) <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title></title> <link rel="stylesheet" href=&q

humlbe bundle如何绑定二次验证码_虚拟MFA_两步验证_谷歌身份验证器?

一般点账户名——设置——安全设置中开通虚拟MFA两步验证 具体步骤见链接 humlbe bundle如何绑定二次验证码_虚拟MFA_两步验证_谷歌身份验证器? 二次验证码小程序于谷歌身份验证器APP的优势(更多见官网) 1.无需下载app 2.验证码丢失后可找回 3.手机丢失后,可从其他手机登陆微信找回验证码,防止被别有用心的人找到利用.不像谷歌身份验证器,手机丢失后验证码跟随手机走,在没有网络的时候也依旧显示,对用户信息资产造成严重威胁. 二次验证码官网(点击查看) 原文地址:https://

border流光效果,js通用,兼容ie7+,火狐,谷歌

html <div id="box"></div> css #box{ width: 200px; height: 200px; border:3px solid #eee;/* 必要条件 */ position: absolute;/* 必要条件 */ left:600px; top:200px; } 此时页面上是一个边框为3px的#eee的200px的方形 js $('#box').mouseover(function(){ borderChange('#b

如何让点聚WebOffice在线编辑ActiveX插件兼容火狐、谷歌、IE各式浏览器

关于点聚的weboffice ActiveX插件的使用在IE下只需要安装对应weboffice.ocx插件即可实现在线文档编辑.对于非IE如谷歌.火狐浏览器来说就有些不同了的,如果想要兼容谷歌和火狐需要采用标准的NPAPI的开发的插件,具体的需要做以下几个步骤: 1.请安装下面链接地址的插件包 目前版本:http://code.google.com/p/ff-activex-host/downloads/detail?name=ffactivex-setup-r39.exe&can=2&q

凹刻感2px分割线css代码实现(兼容IE6-9,火狐,谷歌等)

效果: css: hr {    width: 95%;    border: 0;    border-top: 1px solid #333;    border-bottom: 1px solid #fff;    filter: Alpha(Opacity=30);/*IE*/    opacity: 0.3;/*火狐*/} 原理:<hr />标签默认由border-top和border-bottom组成,通过设置border-top深色,border-bottom浅色,然后使用透明度