千家信息网

CSS3中设置3D变形的transform-style属性介绍

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍"CSS3中设置3D变形的transform-style属性介绍",在日常操作中,相信很多人在CSS3中设置3D变形的transform-style属性介绍问题上存在疑惑,小编查阅了各
千家信息网最后更新 2026年11月02日CSS3中设置3D变形的transform-style属性介绍

这篇文章主要介绍"CSS3中设置3D变形的transform-style属性介绍",在日常操作中,相信很多人在CSS3中设置3D变形的transform-style属性介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"CSS3中设置3D变形的transform-style属性介绍"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

transform-style属性是3D空间一个重要属性,指定嵌套元素如何在3D空间中呈现。他主要有两个属性值:flat和preserve-3d。

transform-style属性的使用语法非常简单:

CSS Code复制内容到剪贴板

  1. transform-style: flat | preserve-3d

其中flat值为默认值,表示所有子元素在2D平面呈现。preserve-3d表示所有子元素在3D空间中呈现。

也就是说,如果对一个元素设置了transform-style的值为flat,则该元素的所有子元素都将被平展到该元素的2D平面中进行呈现。沿着X轴或Y轴方向旋转该元素将导致位于正或负Z轴位置的子元素显示在该元素的平面上,而不是它的前面或者后面。如果对一个元素设置了transform-style的值为preserve-3d,它表示不执行平展操作,他的所有子元素位于3D空间中。

transform-style属性需要设置在父元素中,并且高于任何嵌套的变形元素。最后,我们运用一个翻转的例子,来加深一下对transform-style属性的印象:
HTML模板

XML/HTML Code复制内容到剪贴板

  1. <div class="wrap">

  2. <div class="spin">

  3. <div class="rotate">

  4. <img src="images/cardKingClub.png" alt="" width="142" height="200" />

  5. div>

  6. div>

  7. div>

  8. <div class="wrap">

  9. <div class="spin">

  10. <div class="rotate three-d">

  11. <img src="images/cardKingClub.png" alt="" width="142" height="200" />

  12. div>

  13. div>

  14. div>

CSS

CSS Code复制内容到剪贴板

  1. .wrap {

  2. width: 500px;

  3. height: 300px;

  4. margin: 30px auto;

  5. position: relative;

  6. background: url(images/bg-grid.jpg) no-repeat center center;

  7. background-size: 100% 100%;

  8. }

  9. /*设置动画*/

  10. @keyframes spin{

  11. 0%{

  12. transform:rotateY(0deg)

  13. }

  14. 100%{

  15. transform:rotateY(360deg)

  16. }

  17. }

  18. .spin {

  19. width: 142px;

  20. height: 200px;

  21. position: absolute;

  22. top: 50%;

  23. left: 50%;

  24. margin-left: -72px;

  25. margin-top: -101px;

  26. border: 1px dashed orange;

  27. cursor: pointer;

  28. transform-style: preserve-3d;

  29. }

  30. /*调用动画*/

  31. .spin:hover{

  32. animation:spin 5s linear infinite;

  33. }

  34. .rotate {

  35. background: url(images/cardKingClub.png) no-repeat center;

  36. background-size: 100% 100%;

  37. border: 5px solid hsla(50,50%,50%,.9);

  38. transform: perspective(200px) rotateY(45deg);

  39. }

  40. .rotate img{

  41. border: 1px solid green;

  42. transform: rotateX(15deg) translateZ(10px);

  43. transform-origin: 0 0 40px;

  44. }

  45. /*改变transform-style的默认值*/

  46. .three-d {

  47. transform-style: preserve-3d;

  48. }

特别声明:为了节省篇幅,代码中CSS3属性代码省去了各浏览器的私有前缀,在实际操作中,需要将各浏览器前缀加上,才会有效果。

其效果如下所示:

正如您所看到的,当元素设置.rotate设置了flat值时,其子元素img不会根据translateZ()值摊开,而在同一平面旋转,如上图上部分所示;当元素.rotate设置了preserve-3d值时,其子元素img会根据translateZ()值摊开,不再会堆叠在一起,如上图下部分所示。

有一点需要特别提醒大家,如果你的元素设置了transform-style值为preserve-3d,就不能为了防止子元素溢出容器而设置overflow值为hidden,如果设置了overflow:hidden同样可以迫死子元素出现在同一平面(和元素设置了transform-style为flat一样的效果),如下图所示:

到此,关于"CSS3中设置3D变形的transform-style属性介绍"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

元素 属性 平面 中设 空间 学习 内容 剪贴板 效果 剪贴 平展 上图 代码 分所 前缀 动画 更多 浏览器 帮助 浏览 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技产业 互联网是不是新科技 互联网中国科技 金融科技 互联网金融 上海挚品互联网科技 朗涯互联网科技 互联网 科技馆 卫星互联网科技股票 移动互联网年度科技创新 呼和浩特新华互联网科技学院 企晟互联网信息科技有限公司 互联网行业科技股 上海钢联属于互联网科技股吗 互联网科技职业技能培训学校 互联网科技对化妆品行业 互联网科技创新创业项目 互联网对科技影响 互联网科技创业计划的风险分析 宁波允成互联网科技有限公司 互联网高科技绘画 互联网科技巨头监管 新浪科技互联网 齐家互联网科技有限公司 电子科技大学互联网创业大赛 互联网公司黑科技创始人 众安科技工业互联网合作 广州有谷有贝互联网科技有限公司 广州梦谷互联网科技有限公司领导 萌小萌互联网科技河南有限公司 银川新华互联网科技学校是国营吗
0