广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >如何使用纯CSS实现3D
  • 805
分享到

如何使用纯CSS实现3D

2024-04-02 19:04:59 805人浏览 泡泡鱼
摘要

这篇“如何使用纯CSS实现3D”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“如何使用纯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”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网node.js频道!

--结束END--

本文标题: 如何使用纯CSS实现3D

本文链接: https://www.lsjlt.com/news/88534.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • 如何使用纯CSS实现3D
    这篇“如何使用纯CSS实现3D”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“如何使用纯CSS实现3D”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢...
    99+
    2022-10-19
  • 使用纯CSS如何实现3D旋转效果
    小编给大家分享一下使用纯CSS如何实现3D旋转效果,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!主要使用CSS中的 preserve-3d 、perspective 属性实现3D效果效果HTML代码<body>...
    99+
    2023-06-08
  • 如何使用纯CSS实现3D按钮效果
    小编给大家分享一下如何使用纯CSS实现3D按钮效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!css巧妙利用了box-shadow来实现3D物体的立体感,当按钮...
    99+
    2023-06-08
  • 纯css如何实现照片墙3D效果
    小编给大家分享一下纯css如何实现照片墙3D效果,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!准备材料:准备材料就是没什么材料,自己麻溜赶快的去:百度找几张美女的照片来测试即可。html代码:<!DOCTYPE&nb...
    99+
    2023-06-08
  • 怎么使用纯CSS实现书籍3D翻页效果
    这篇文章主要介绍了怎么使用纯CSS实现书籍3D翻页效果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。使用纯CSS实现书籍3D翻页效果,代码如下:<!doctype&nb...
    99+
    2023-06-08
  • 如何使用css实现3D穿梭效果
    这篇文章主要介绍“如何使用css实现3D穿梭效果”,在日常操作中,相信很多人在如何使用css实现3D穿梭效果问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用css实现3...
    99+
    2022-10-19
  • 如何使用css实现过渡+3D效果
    这篇文章主要为大家展示了“如何使用css实现过渡+3D效果”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用css实现过渡+3D效果”这篇文章吧。css过渡...
    99+
    2022-10-19
  • 如何利用纯css3实现好看的3D表单
    这篇文章主要讲解了“如何利用纯css3实现好看的3D表单”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何利用纯css3实现好看的3D表单”吧!  今天要给...
    99+
    2022-10-19
  • 如何使用纯css实现水波动画
    这篇文章主要介绍了如何使用纯css实现水波动画,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。由于生成gif的工具比较弱(在线求好用的mac版...
    99+
    2022-10-19
  • 如何使用纯CSS实现圆形图像?
    小编给大家分享一下如何使用纯CSS实现圆形图像?,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!   SS可以实现网页中的很多效...
    99+
    2022-10-19
  • 如何使用纯css实现动态边框
    小编给大家分享一下如何使用纯css实现动态边框,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!   CSS3 Backgroun...
    99+
    2022-10-19
  • 如何使用纯CSS实现垂直居中
    这篇文章主要为大家展示了“如何使用纯CSS实现垂直居中”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用纯CSS实现垂直居中”这篇文章吧。   ...
    99+
    2022-10-19
  • 如何使用纯css实现开关效果
    这篇文章将为大家详细讲解有关如何使用纯css实现开关效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。首先是构思我们使用<input type="checkbox">标签来...
    99+
    2023-06-08
  • 如何利用纯CSS实现居中
    这篇文章给大家分享的是有关如何利用纯CSS实现居中的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、line-height居中法父元素:text-align: center; line-height:600px;...
    99+
    2023-06-08
  • 如何使用纯css实现瀑布流布局
    这篇文章主要为大家展示了“如何使用纯css实现瀑布流布局”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用纯css实现瀑布流布局”这篇文章吧。   1、纯...
    99+
    2022-10-19
  • 如何使用纯css实现的无缝滚动
    这篇文章主要为大家展示了“如何使用纯css实现的无缝滚动”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用纯css实现的无缝滚动”这篇文章吧。<!do...
    99+
    2022-10-19
  • 如何使用css实现3D图像轮转效果
    这篇文章主要为大家展示了“如何使用css实现3D图像轮转效果”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用css实现3D图像轮转效果”这篇文章吧。首先看...
    99+
    2022-10-19
  • 纯css如何实现瀑布流
    这篇文章主要介绍了纯css如何实现瀑布流,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.multi-column多列布局实现瀑布流先简单的讲下multi-column相关的...
    99+
    2023-06-08
  • 纯css如何实现三角形
    本篇内容介绍了“纯css如何实现三角形”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!css实现三角的原理:首先确定底边是哪个方向,并设置哪个...
    99+
    2023-07-04
  • 怎么用纯CSS实现菜单、导航栏的3D翻转动画效果
    这篇文章主要讲解了“怎么用纯CSS实现菜单、导航栏的3D翻转动画效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用纯CSS实现菜单、导航栏的3D翻转动...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作