这是我第一次在这里写文章,如果写得不好的话,请大家多多包涵一下。

在XX网学完CSS3之后,然后我懂了一个道理,XX网评论区域存在一个小明梗,这个梗是这样的:1+1=2, 2+2=4,问小明今年多少岁 = 。= 原因是XX网教的基础是非常的基础,一到实战就GG了。看完CCS3课程后,自己尝试手写一下3D盒子的切换,虽然不是很炫。但是为了来练练手,顺便检查一下自己的学习成果,写了一个超鸡简单的鼠标滑动到相对应的盒子,盒子就以3D模式来翻转。话不多说,一言不合就贴代码 = =

3D原理我是从这篇博文慢慢参透懂的http://blog.csdn.net/jimmysmith/article/details/70478066

大家可以去这里看看.

我要实现的总体效果如图:

1.png

2.png

3.png

4.png

html代码:(超鸡简单的布局)

Document

![](http://upload-images.jianshu.io/upload_images/5350185-aea596f0ad4eead2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

澳门风云

闻名中外,曾担任美国赌场保安总顾问的魔术手石一坚,终回流澳门退休,更宴请各方朋友到来庆祝生日宴.

![](http://upload-images.jianshu.io/upload_images/5350185-2aaf4448f7e6f9eb.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

改过迁善该剧讲述了金明民饰演的律师在失忆后回顾自己以往的所作所为心生忏悔,为弥补自己犯下的错误而与自己曾经工作过的律师事务所对簿公堂的故事。

未写任何css是这样的:

1.png

写完Html代码,就到css代码了

我就写一些核心css代码吧

步骤一:先给item项父类设置3D舞台布景 perspective 的值,好像这样看起来好多,其实都是为了兼容其他浏览器而写的各种前缀

.wrapper {

width: 400px;

height: 200px;

display: inline-block;

margin-right: 20px;

perspective: 2000px;

-webkit-perspective:2000px;

-ms-perspective:2000px;

-moz-perspective:2000px;

-o-perspective:2000px;

}

步骤二:设置item的动画效果,即3D效果 transform-style: preserve-3d;

而且我们要在切换的时候有个过渡效果,所以要加上 transition: all 0.7s ease;

.item {

transform-style: preserve-3d;

-webkit-transform-style:preserve-3d;

-ms-transform-style:preserve-3d;

-moz-transform-style:preserve-3d;

-o-transform-style:preserve-3d;

transition: all 0.7s ease;

-webkit-transition: all 0.7s ease;

-ms-transition: all 0.7s ease;

-moz-transform: all 0.7s ease;

-o-transition: all 0.7s ease;

height: 200px;

box-shadow: #ddd 5px 5px;

}

步骤三:我们想把information 先隐藏起来,至于怎样隐藏呢?

不是用display:none哦,我们是做3D效果,所以就通过X/Y/Z轴这些来操作。又因为背景色要做成渐变的,所以就采用线性渐变 linear-gradient。

相信大家都知道rotate是css3动画旋转的属性,好,就用它,我们把information 的span沿x轴旋转-90度,即逆时针90度,rotateX(-90deg),X轴旋转后,平面距离Z轴肯定有一段距离,如图6。所以我们要通过Z轴平移。因为我设置wrap,item为200px,所以平移一半100px,又因为item我设置了阴影有5px,所以再加上那5px,所以在Z轴平移了105px.translateZ(-105px),所以就可以得到图7那种静态效果。

6.png

.item .information {

display: block;

width: 400px;

height: 200px;

transform:rotateX(-90deg) translateZ(-105px);

-webkit-transform:rotateX(0deg) translateZ(100px);

-ms-transform:rotateX(-90deg) translateZ(-105px);

-moz-transform:rotateX(-90deg) translateZ(-105px);

-o-transform:rotateX(-90deg) translateZ(-105px);

background: linear-gradient(to top,#3bd1ed 0%,#69d8ed 25%,#9fe6f4 50%,#c1ebf4 75%,#daf9ff 100%);

-webkit-background: linear-gradient(to top,#3bd1ed 0%,#69d8ed 25%,#9fe6f4 50%,#c1ebf4 75%,#daf9ff 100%);

-ms-background: linear-gradient(to top,#3bd1ed 0%,#69d8ed 25%,#9fe6f4 50%,#c1ebf4 75%,#daf9ff 100%);

-moz-background: linear-gradient(to top,#3bd1ed 0%,#69d8ed 25%,#9fe6f4 50%,#c1ebf4 75%,#daf9ff 100%);

-o-background: linear-gradient(to top,#3bd1ed 0%,#69d8ed 25%,#9fe6f4 50%,#c1ebf4 75%,#daf9ff 100%);

}

7.png

好了,这看起来好丑,下面看起来有凸出来的部分,其实这是因为图片现在正在 .information 的正中间,所以要把图片向Z轴正方向平移100px,如图8

.item img {

width: 400px;

height: 200px;

transform:rotateX(0deg) translateZ(100px);

-webkit-transform:rotateX(0deg) translateZ(100px);

-ms-transform:rotateX(0deg) translateZ(100px);

-moz-transform:rotateX(0deg) translateZ(100px);

-o-transform:rotateX(0deg) translateZ(100px);

}

8.png

好了,下面就是鼠标滑动事件了

鼠标一滑到Item上,图片要向上翻转,文字从下面出现,所以整个主体item要向正方向旋转90度, transform:rotateX(90deg) ,这简单的3D盒子切换就大功告成了,小弟水平有限,若有出错,望各位多多指点指点一下>. <

.item:hover {

box-shadow:none;

cursor:pointer;

transition: all 0.7s ease;

-webkit-transition: all 0.7s ease;

-ms-transition: all 0.7s ease;

-moz-transform: all 0.7s ease;

-o-transition: all 0.7s ease;

transform:rotateX(90deg) ;

-webkit-transform:rotateX(90deg);

-moz-transform:rotateX(90deg) ;

-o-transform:rotateX(90deg) ;

-ms-transform:rotateX(90deg) ;

}

html简单盒子代码,CSS3 3D盒子超简单制作相关推荐

  1. [应用][js+css3]3D盒子导航[PC端]

    CSS3构建的3D盒子之导航应用 1.在用css3构建的盒子表面,放上iframe,来加载导航页面. 2.鼠标左键按下移动可旋转盒子,寻找想要的网址. 3.左键单机盒子表面,将全屏现实所点盒子表面的网 ...

  2. css代码写3D盒子动画

    完整代码见下: html: <!DOCTYPE html> <html lang="zh-CN"><head><meta charset= ...

  3. css3的弹性盒子模型,css3弹性盒子模型——回顾。

    1.box-flex属性规定框的子元素是否可伸缩其尺寸. 父元素必须要声明display:box;子元素才可以用box-flex. 语法:box-flex:value; 示例: .test_box { ...

  4. Java幸运盒子代码_幸运盒子扭蛋机小程序app开发

    互联网产品是植根于互联网大环境的产品,幸运盒子扭蛋机小程序app开发是互联网产品的基本生长土壤.互联网的思想.原则和方法,必然以类似于"基因"继承的形式在每一个具体互联网产品中得以 ...

  5. git往新项目上传代码的方法(超简单版)

    1.登录git,打开新建的空项目,选择新建代码片段. 2.在标题.描述.文件栏目中随便输入一些文本内容.单击create snippet按钮 3.因为刚才我们在项目中输入了文本内容,所以现在这个项目不 ...

  6. 简单python代码讲解-使用Python编写简单的画图板程序的示例教程

    从这次开始,我会由简单到困难(其实也不会困难到哪里去)讲几个例程,每一个例程都是我自己写(或者修改,那样的话我会提供原始出处)的,都具有一定的操作性和娱乐性.例程中汇尽量覆盖到以前所讲的pygame中 ...

  7. python简单爬虫代码-用Python编写一个简单的爬虫

    作者信息: Author : 黄志成(小黄) 博客地址: 博客 呐,这是一篇福利教程.为什么这么说呢.我们要爬取的内容是美图网站(嘿嘿,老司机都懂的) 废话不多说.开始今天的表演. 这个图集网站不要问 ...

  8. python简单爬虫代码-使用Python3.5写简单网络爬虫

    <一>用urllib库访问URL并采集网络数据 -1. 直接采集 发送请求,打开URL,打印传回的数据(html文件) - 2. 模拟真实浏览器访问 1)发送http头信息(header) ...

  9. 【超简单】快速复制有序号的代码

    [大家好,我是编程的赛赛,专注于保姆级代码教程] [超简单系列分享一些程序界的生活小妙招,点个关注不迷路,我们开始学习吧] 在网上借(fu)鉴(zhi)代码时,难免会遇到有序号的代码,使用本文的方法, ...

最新文章

  1. 最全Python算法实现资源汇总!
  2. WPF canvas、基本图形、path几个示例
  3. constexpr函数
  4. delayqueue_在DelayQueue中更改延迟,从而更改顺序
  5. IDEA流式处理 Debug Stream Trace 控制面板
  6. python守护线程_Python之守护线程与锁
  7. finereport 格式化金额函数_帆软报表常用函数总结
  8. USB转串口驱动安装失败解决方法
  9. 我收藏的一些RSS订阅频道
  10. 《零基础入门学习Python》第031讲:永久存储:腌制一缸美味的泡菜
  11. 莱赞多店管家分析Lazada印尼站点热卖商品,商家运营更轻松
  12. HDMI转MIPICSI,东芝转换芯片,TC358743XBG/TC358749XBG
  13. 实数二分(模板及例题)
  14. 批处理入门手册之批处理常用DOS命令篇(md、rd、ren、move)
  15. 《大话设计模式》总结 (更新ing)
  16. b站视频之求知讲堂Java视频-多维数组
  17. 小米公交移卡服务器维护中,小米公交移卡体验: 移出移入很方便, 不限制次数, 还免了服务费!...
  18. LC-MS/MS蛋白质谱鉴定技术服务
  19. 如何走好知识变现第一步
  20. 女子经常跑步锻炼好处多(转)

热门文章

  1. 计算机保存的游戏,推荐一些耐玩的经典电脑游戏,下面那些游戏你的电脑是存放有的?...
  2. 表情小程序,一起来斗图
  3. 宏基服务器型号,宏碁新款Altos C100 F3系列服务器体积小噪音低
  4. centos7安装随堂笔记
  5. Linux服务器离线安装SVN详解
  6. touchScroll实现手机触屏滚动
  7. 技巧|iPhone清理扬声器灰尘,iPhone隐藏相机和手电筒方法教程
  8. cesium中调整图层顺序
  9. 一句话把人逗乐的经典 ZT
  10. 最快的速度学习C语言的基础部分