我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何使用纯CSS实现3D

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何使用纯CSS实现3D

这篇“如何使用纯CSS实现3D”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“如何使用纯CSS实现3D”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接下来就让我们进入主题吧。

  一、正方体

  我认为正方体可以算是3D图像的基础吧,首先正方体是由六个相同的面所组成,其次就需要我们依次构造。(据体构造在代码中)

  代码如下:

  <!DOCTYPEhtml>

  <html>

  <head>

  <metacharset="UTF-8">

  <metaname="viewport"content="width=device-width,initial-scale=1.0">

  <metahttp-equiv="X-UA-Compatible"content="ie=edge">

  <title>正方体</title>

  <style>

  .d3{

  height:300px;

  width:300px;

  perspective:800px;

  margin:140pxauto;

  border:1pxsolid#ccc;}

  .stage{

  height:300px;

  width:300px;

  transform-style:preserve-3d;

  position:relative;

  transform:rotateX(45deg)rotateY(45deg);

  }

  .role{

  height:300px;

  width:300px;

  position:absolute;

  }

  .stage{

  animation:dong3slinearinfinite;(这是舞台)

  }

  .stage:hover{

  animation:paused;

  }

  @keyframesdong{(这是使舞台旋转的动画)

  from{

  transform:rotateX(45deg)rotateY(45deg);

  }

  to{

  transform:rotateX(405deg)rotateY(405deg);

  }

  }

  .di1{(正方体的前面)

  background:rgb(21,163,52);

  transform:translateZ(150px);(沿着z轴向前移动150px)

  font-size:100px;

  font-family:KaiTi;

  text-align:center;

  line-height:300px;

  }

  .di2{(正方体的后面)

  background:blue;

  transform:translateZ(-150px)rotateY(180deg);(沿着z轴向前移动150px然后沿着y轴旋转180&deg;*注意顺序哦是先移动后旋转)

  font-size:100px;

  font-family:KaiTi;

  text-align:center;

  line-height:300px;

  }

  .di3{(正方体的左面)

  background:purple;

  transform:rotateY(-90deg)translateZ(150px);

  font-size:100px;

  font-family:KaiTi;

  text-align:center;

  line-height:300px;

  }

  .di4{(正方体的右面)

  background:pink;

  transform:rotateY(90deg)translateZ(150px);

  font-size:100px;

  font-family:KaiTi;

  text-align:center;

  line-height:300px;

  }

  .di5{(正方体的上面)

  background:red;

  transform:rotateX(90deg)translateZ(150px);

  font-size:100px;

  font-family:KaiTi;

  text-align:center;

  line-height:300px;

  }

  .di6{(正方体的下面)

  background:yellow;

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

  font-size:100px;

  font-family:KaiTi;

  text-align:center;

  line-height:300px;

  }

  </style>

  </head>

  <body>

  <div>

  <div>

  (将正方体分为六个相同的面)

  <divclass="roledi1">前</div>

  <divclass="roledi2">后</div>

  <divclass="roledi3">左</div>

  <divclass="roledi4">右</div>

  <divclass="roledi5">上</div>

  <divclass="roledi6">下</div>

  </div>

  </div>

  </body>

  </html>

  二、动态立体图片册

  将图片册设计成立体3D的效果

  利用旋转、移动、倾斜和3D效果让你的图册更加漂亮。

  代码如下:

  (将第一张定好位置后将后面的依次排列)

  <!DOCTYPEhtml>

  <html>

  <head>

  <metacharset="UTF-8">

  <metaname="viewport"content="width=device-width,initial-scale=1.0">

  <metahttp-equiv="X-UA-Compatible"content="ie=edge">

  <title>事例一</title>

  <style>

  body{

  height:100vh;

  }

  .div{

  height:500px;

  width:800px;

  perspective:800px;

  margin:50pxauto;

  }

  .div1{

  height:500px;

  width:800px;

  transform-style:preserve-3d;

  position:relative;

  

  }

  .div_0{

  height:400px;

  width:600px;

  position:absolute;

  margin-top:110px;

  margin-left:50px;

  }

  .div_1{

  height:400px;

  width:600px;

  background:url(../day03/timg.jpg);

  background-size:600px400px;

  border-radius:20px;

  transform-origin:rightbottom;

  transition:3s;

  }

  .div_2{

  background:url(../day03/timg1.jpg);

  border-radius:20px;

  background-size:600px400px;

  transform-origin:rightbottom;

  transform:rotateZ(2deg)translateZ(-20px)translateX(20px)translateY(-20px);

  }

  .div_2:hover{

  transform:rotateZ(0)translateZ(0)translateX(0)translateY(0);

  transition:1s;

  }

  .div_2:hover~.div_1{

  

  transform:rotateZ(2deg)translateZ(20px)translateX(20px)translateY(-20px);

  transition:1s;

  }

  

  .div_3{

  background:url(timg2.jpg);

  border-radius:20px;

  background-size:600px400px;

  transform-origin:rightbottom;

  transform:rotateZ(4deg)translateZ(-40px)translateX(40px)translateY(-40px);

  }

  .div_3:hover{

  transform:rotateZ(0)translateZ(0)translateX(0)translateY(0);

  transition:1s;

  }

  .div_4{

  background:url(timg4.jpg);

  border-radius:20px;

  background-size:600px400px;

  transform-origin:rightbottom;

  transform:rotateZ(6deg)translateZ(-60px)translateX(60px)translateY(-60px);

  }

  .div_4:hover{

  transform:rotateZ(0)translateZ(0)translateX(0)translateY(0);

  transition:1s;

  }

  .div_5{

  background:url(timg5.jpg);

  border-radius:20px;

  background-size:600px400px;

  transform-origin:rightbottom;

  transform:rotateZ(8deg)translateZ(-80px)translateX(80px)translateY(-80px);

  }

  .div_5:hover{

  transform:rotateZ(0)translateZ(0)translateX(0)translateY(0);

  transition:1s;

  }

  .div_6{

  background:url(timg3.jpg)no-repeat;

  border-radius:20px;

  background-size:600px400px;

  transform-origin:rightbottom;

  transform:rotateZ(10deg)translateZ(-100px)translateX(100px)translateY(-100px);

  }

  .div_6:hover{

  transform:rotateZ(0)translateZ(0)translateX(0)translateY(0);

  transition:1s;

  }

  </style>

  </head>

  <body>

  <div>

  <div>

  <divclass="div_0div_1"></div>

  <divclass="div_0div_2"></div>

  <divclass="div_0div_3"></div>

  <divclass="div_0div_4"></div>

  <divclass="div_0div_5"></div>

  <divclass="div_0div_6"></div>

  </div>

  </div>

  </body>

  </html>

  三、平面的星空

  代码如下:

  (由于没有用js所以只有平面的效果了

  你掌握好旋转的中心点就很容易了)

  <!DOCTYPEhtml>

  <html>

  <head>

  <metacharset="UTF-8">

  <metaname="viewport"content="width=device-width,initial-scale=1.0">

  <metahttp-equiv="X-UA-Compatible"content="ie=edge">

  <title>太阳系</title>

  <style>

  body{

  background:url(timg01.jpg)no-repeat;

  background-size:100%;

  }

  .box1{

  height:600px;

  width:600px;

  margin:0auto;

  border:1pxsolid#ccc;

  border-radius:50%;

  }

  .box1_0{

  height:100px;

  width:100px;

  margin:0auto;

  border:1pxsolidwhite;

  border-radius:50%;

  position:absolute;

  top:calc(50%-59px);

  left:322px;

  transform-origin:345.5px;

  animation:dong25slinearinfinite4s;

  }

  @keyframesdong2{

  from{

  transform:rotate(0)

  }

  100%{

  transform:rotate(360deg);

  }

  }

  .box1_2{

  height:13px;

  width:13px;

  margin:0auto;

  

  border-radius:50%;

  background:white;

  position:absolute;

  top:calc(50%-7.5px);

  left:96px;

  transform-origin:-45px;

  animation:dong35.5slinearinfinite;

  

  }

  @keyframesdong3{

  from{

  transform:rotate(0);

  }

  100%{

  transform:rotate(360deg);

  }

  }

  .box1_1{

  height:15px;

  width:15px;

  margin:0auto;

  

  border-radius:50%;

  background:rgb(7,100,223);

  position:absolute;

  top:45px;

  left:calc(50%-16.5px);

  }

  .box2{

  height:400px;

  width:400px;

  margin:0auto;

  border:1pxsolid#ccc;

  border-radius:50%;

  position:absolute;

  top:calc(50%-200px);

  left:calc(50%-200px);

  }

  .box2_1{

  height:15px;

  width:15px;

  margin:0auto;

  

  border-radius:50%;

  background:rgb(198,208,221);

  position:absolute;

  top:calc(50%-7.5px);

  left:43px;

  transform-origin:157.5px;

  animation:dong15slinearinfinite.5s;

  }

  @keyframesdong1{

  from{

  transform:rotate(0)

  }

  100%{

  transform:rotate(360deg);

  }

  }

  .box2_2{

  height:15px;

  width:15px;

  margin:0auto;

  border-radius:50%;

  background:#644e11;

  position:absolute;

  top:calc(50%-7.5px);

  left:-7px;

  transform-origin:207.5px;

  animation:dong5slinearinfinite;

  }

  @keyframesdong{

  from{

  transform:rotate(0)

  }

  100%{

  transform:rotate(360deg);

  }

  }

  .box3{

  height:300px;

  width:300px;

  margin:0auto;

  border:1pxsolid#ccc;

  border-radius:50%;

  position:absolute;

  top:calc(50%-150px);

  left:calc(50%-150px);

  }

  .box4{

  height:30px;

  width:30px;

  margin:0auto;

  border-radius:50%;

  background:orange;

  position:absolute;

  top:calc(50%-15px);

  left:calc(50%-15px);

  }

  .boxli{

  height:900px;

  width:900px;

  margin:0auto;

  border:1pxsolid#ccc;

  border-radius:50%;

  position:absolute;

  top:-120px;

  left:calc(50%-450px);

  }

  .boxli_1{

  height:15px;

  width:15px;

  margin:0auto;

  border-radius:50%;

  background:rgb(116,100,56);

  position:absolute;

  top:500px;

  left:-6px;

  transform-origin:455.5px-38px;

  animation:dongli5slinearinfinite;

  }

  @keyframesdongli{

  from{

  transform:rotate(0)

  }

  100%{

  transform:rotate(360deg);

  }

  }

  </style>

  </head>

  <body>

  <divclass="box1">

  <divclass="box1_0">

  <divclass="box1_2"></div>

  <divclass="box1_1"></div>

  </div>

  <divclass="box2">

  <divclass="box2_1"></div>

  <divclass="box2_2"></div>

  <divclass="box3">

  <divclass="box4"></div>

  </div>

  </div>

  </div>

  <divclass="boxli">

  <divclass="boxli_1"></div>

  </div>

  </body>

  </html>

如何使用纯CSS实现3D

css的基本语法是什么

css的基本语法是:1、css规则由选择器和一条或多条声明两个部分构成;2、选择器通常是需要改变样式的HTML元素;3、每条声明由一个属性和一个值组成;4、属性和属性值被冒号分隔开。

以上是“如何使用纯CSS实现3D”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何使用纯CSS实现3D

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何使用纯CSS实现3D按钮效果

小编给大家分享一下如何使用纯CSS实现3D按钮效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!css巧妙利用了box-shadow来实现3D物体的立体感,当按钮
2023-06-08

使用纯CSS如何实现3D旋转效果

小编给大家分享一下使用纯CSS如何实现3D旋转效果,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!主要使用CSS中的 preserve-3d 、perspective 属性实现3D效果效果HTML代码
2023-06-08

纯css如何实现照片墙3D效果

小编给大家分享一下纯css如何实现照片墙3D效果,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1.准备材料:准备材料就是没什么材料,自己麻溜赶快的去:百度找几张美女的照片来测试即可。2.html代码:
2023-06-08

怎么使用纯CSS实现书籍3D翻页效果

这篇文章主要介绍了怎么使用纯CSS实现书籍3D翻页效果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。使用纯CSS实现书籍3D翻页效果,代码如下:
2023-06-08

如何使用纯css实现开关效果

这篇文章将为大家详细讲解有关如何使用纯css实现开关效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。首先是构思我们使用标签来实现这个效果。checkbox的
2023-06-08

如何利用纯CSS实现居中

这篇文章给大家分享的是有关如何利用纯CSS实现居中的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、line-height居中法父元素:text-align: center; line-height:600px;
2023-06-08

编程热搜

目录