CSS3 三维变形实现立体方块特效源码


Posted in HTML / CSS onDecember 15, 2016

前言

三维变换使用基于二维变换的相同属性,如果您熟悉二维变换,你们发现3D变形的功能和2D变换的功能类似。3D变形与2D变形的最大不同就在于其参考的坐标轴不同,2D变形的坐标轴是平面的,只存在X轴和Y轴,而3D变形的坐标轴则是X、Y、Z三条轴组成的立体空间,X轴正向是朝右,Y周正向是朝下,Z轴正向是朝屏幕外。

静态效果图如下:

CSS3 三维变形实现立体方块特效源码

实例代码

<!DOCTYPE HTML>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="apple-mobile-web-app-capable" content="yes" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
        <title>CSS3三维变形</title>
        <!--  -->
        <style type="text/css">
         * {
          margin: 0;
          padding: 0;
         }
         
         .box {
          position:relative;
          top: 100px;
          width:300px;
          height: 300px;
          margin: 0 auto;
          background-color: #ccc;
          /*
           透视效果
           越大透视距离越平面,反之亦然
          */
          perspective:800px;
         }
         .content {
          /*3d视图*/
          transform-style: preserve-3d;
          /*过度动画*/
          transition: all 3s linear;
          width:200px;
          height: 200px;
          position: absolute;
          top: 50px;
       left: 50px;
         }
         /*
          经过顺时针旋转
         */
         .content:hover {
          transform: rotateX(180deg) rotateY(180deg);
         }
         /*
          方块公共样式
         */
         .side {
          position: absolute;
       height: 200px;
       width: 200px;
       border: 2px solid #000;
       background: rgba(0,0,0,0.3);
       color: #fff;
       line-height: 200px;
       font-size: 30px;
       font-weight: bold;
       text-align: center;
       text-shadow: 0 -1px 0 rgba(0,0,0,0.2);
         }
         /*
          前
         */
         .side1 {
           transform: translateZ(100px);
         }
         /*
          后
         */
         .side2 {
          transform: rotateX(180deg) translateZ(100px);
         } 
         /*
          左
         */
         .side3 {
          transform: rotateY(-90deg) translateZ(100px);
         }
         /*
          右
         */
         .side4 {
          transform: rotateY(90deg) translateZ(100px);
         }
         /*
          上
         */
         .side5 {
          transform: rotateX(90deg) translateZ(100px);
         }
         /*
          下
         */
         .side6 {
          transform: rotateX(-90deg) translateZ(100px);
         }
        </style>
    </head>
    <body>
     <!-- begin -->
     <div class="box">
      <div class="content">
       <div class="side side1">1</div>
             <div class="side side2">2</div>
             <div class="side side3">3</div>
             <div class="side side4">4</div>
             <div class="side side5">5</div>
             <div class="side side6">6</div>
      </div>
     </div>
     <!-- end -->
    </body>
</html>

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

HTML / CSS 相关文章推荐
50个强大璀璨的CSS3/JS技术运用实例
Feb 27 HTML / CSS
CSS3之transition实现下划线的示例代码
May 30 HTML / CSS
CSS3实现酷炫的3D旋转透视效果
Nov 21 HTML / CSS
详解CSS3:overflow属性
Nov 17 HTML / CSS
基于HTML5 Canvas 实现商场监控实例详解
Nov 20 HTML / CSS
把富文本的回车转为br标签
Aug 09 HTML / CSS
HTML5之SVG 2D入门10—滤镜的定义及使用
Jan 30 HTML / CSS
基于html5实现的图片墙效果
Oct 16 HTML / CSS
详解HTML5 Canvas绘制时指定颜色与透明度的方法
Mar 25 HTML / CSS
HTML5 WebSocket实现点对点聊天的示例代码
Jan 31 HTML / CSS
canvas实现按住鼠标移动绘制出轨迹的示例代码
Feb 05 HTML / CSS
sass 常用备忘案例详解
Sep 15 HTML / CSS
css3学习之2D转换功能详解
Dec 23 #HTML / CSS
CSS实现鼠标滑过鼠标点击代码写法
Dec 26 #HTML / CSS
学做Bootstrap的第一个页面
May 15 #HTML / CSS
css3实现背景模糊的三种方式
HTML5如何适配 iPhone IOS 底部黑条
CSS3画一个阴阳八卦图
CSS中一些@规则的用法小结
Mar 09 #HTML / CSS
You might like
PHP 表单提交给自己
2008/07/24 PHP
PHP中call_user_func_array()函数的用法演示
2012/02/05 PHP
微信公众号实现扫码获取微信用户信息(网页授权)
2019/04/09 PHP
Javascript Object.extend
2010/05/18 Javascript
jquery动态添加删除div 具体实现
2013/07/20 Javascript
javascript:void(0)的作用示例介绍
2013/10/28 Javascript
js substring从右边获取指定长度字符串(示例代码)
2013/12/23 Javascript
js日期、星座的级联显示代码
2014/01/23 Javascript
jQuery操作select下拉框的text值和value值的方法
2014/05/31 Javascript
配置Grunt的Task时通配符支持和动态生成文件名问题
2015/09/06 Javascript
每天一篇javascript学习小结(RegExp对象)
2015/11/17 Javascript
NodeJS和BootStrap分页效果的实现代码
2016/11/07 NodeJs
微信小程序 switch组件详解及简单实例
2017/01/10 Javascript
前端图片懒加载(lazyload)的实现方法(提高用户体验)
2017/08/21 Javascript
原生JS 购物车及购物页面的cookie使用方法
2017/08/21 Javascript
JS实现十分钟倒计时代码实例
2018/10/18 Javascript
使用vue开发移动端管理后台的注意事项
2019/03/07 Javascript
js实现简单分页导航栏效果
2019/06/28 Javascript
layUI实现前端分页和后端分页
2019/07/27 Javascript
基于Vue和Element-Ui搭建项目的方法
2019/09/06 Javascript
python正则匹配抓取豆瓣电影链接和评论代码分享
2013/12/27 Python
Google开源的Python格式化工具YAPF的安装和使用教程
2016/05/31 Python
深入flask之异步非堵塞实现代码示例
2018/07/31 Python
python2.7使用plotly绘制本地散点图和折线图
2019/04/02 Python
对Python中画图时候的线类型详解
2019/07/07 Python
python+numpy实现的基本矩阵操作示例
2019/07/19 Python
Python简易计算器制作方法代码详解
2019/10/31 Python
python opencv 实现对图像边缘扩充
2020/01/19 Python
使用keras2.0 将Merge层改为函数式
2020/05/23 Python
植村秀美国官网:Shu Uemura美国
2019/03/19 全球购物
军神教学反思
2014/02/04 职场文书
模具专业求职信
2014/06/26 职场文书
小学课外活动总结
2014/07/09 职场文书
我心目中的好老师活动方案
2014/08/19 职场文书
党的群众路线教育实践活动制度建设计划方案
2014/10/31 职场文书
一小时迅速入门Mybatis之bind与多数据源支持 Java API
2021/09/15 Javascript