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 相关文章推荐
CSS3实现精美横向滚动菜单按钮
Apr 14 HTML / CSS
用css3制作纸张效果(外翻卷角)
Feb 01 HTML / CSS
一款纯css3实现的响应式导航
Oct 31 HTML / CSS
推荐一些比较有用的css3新属性
Nov 11 HTML / CSS
CSS3使用transition实现的鼠标悬停淡入淡出
Jan 09 HTML / CSS
浅析rem和em和px vh vw和% 移动端长度单位
Apr 28 HTML / CSS
CSS3的颜色渐变效果的示例代码
Sep 29 HTML / CSS
CSS3 实现童年的纸飞机
May 05 HTML / CSS
IE9下html5初试小刀
Sep 21 HTML / CSS
HTML5 对各个标签的定义与规定:body的介绍
Jun 21 HTML / CSS
使用Html5 Stream开发实时监控系统
Jun 02 HTML / CSS
html+css实现环绕倒影加载特效
Jul 07 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
WHOIS类的修改版
2006/10/09 PHP
如何写php程序?
2006/12/08 PHP
PHP自定义大小验证码的方法详解
2013/06/07 PHP
PHP和JavaScrip分别获取关联数组的键值示例代码
2013/09/16 PHP
PHP整数取余返回负数的相关解决方法
2014/05/15 PHP
php中in_array函数用法探究
2014/11/25 PHP
CodeIgniter自定义控制器MY_Controller用法分析
2016/01/20 PHP
php利用header函数下载各种文件
2016/08/24 PHP
CodeIgniter框架验证码类库文件与用法示例
2017/03/18 PHP
php 人员权限管理(RBAC)实例(推荐)
2017/05/24 PHP
Mootools 图片展示插件(lightbox,ImageMenu)收集集合
2010/05/21 Javascript
Jquery中获取iframe的代码
2011/01/11 Javascript
new Date()问题在ie8下面的处理方法
2014/07/31 Javascript
用JS生成UUID的方法实例
2016/03/30 Javascript
Three.js学习之文字形状及自定义形状
2016/08/01 Javascript
Angular实现类似博客评论的递归显示及获取回复评论的数据
2017/11/06 Javascript
JavaScript将数组转换为链表的方法
2020/02/16 Javascript
绘制微信小程序验证码功能的实例代码
2021/01/05 Javascript
Javascript中的奇葩知识,你知道吗?
2021/01/25 Javascript
深入讨论Python函数的参数的默认值所引发的问题的原因
2015/03/30 Python
在Django中创建URLconf相关的通用视图的方法
2015/07/20 Python
python正则实现提取电话功能
2018/02/24 Python
python实现控制COM口的示例
2019/07/03 Python
用Cython加速Python到“起飞”(推荐)
2019/08/01 Python
利用python实现周期财务统计可视化
2019/08/25 Python
纯CSS3代码实现文字描边
2016/04/25 HTML / CSS
ECCO英国官网:丹麦鞋履品牌
2019/09/03 全球购物
专科毕业生就业推荐信
2013/11/01 职场文书
国旗下讲话演讲稿
2014/05/08 职场文书
公司总经理任命书
2014/06/05 职场文书
企业文化标语口号
2014/06/09 职场文书
工程学毕业生自荐信
2014/06/14 职场文书
2014年物流工作总结
2014/11/25 职场文书
开场白怎么写
2015/06/01 职场文书
九九重阳节致辞
2015/07/31 职场文书
Python insert() / append() 用法 Leetcode实战演示
2021/03/31 Python