原创声明

本文系作者辛苦码字所得,欢迎分享和转载,但请在明显位置注明作者的如下信息:

笔名:来碗鸡蛋面

简书主页:https://www.jianshu.com/u/4876275b5a73

邮箱:job_tom@foxmail.com

CSDN ID:tom_wong666

本文简单阐述了如何实现旋转的四面体效果,读者需要具备基本的HTML,CSS和JS基础知识。

一,基本概念:

1,三维坐标轴,如下图:

三维坐标

2,透视距离,如上图:

perspective:npx:透视距离为npx。

3,CSS的3D转换属性

transform:rotateX(ndeg):绕X轴旋转n度。如下图:

X轴旋转示意

transform:rotateY(ndeg):绕Y轴旋转n度。如下图:

Y轴旋转示意

transform:rotateZ(ndeg):绕Z轴旋转n度。如下图:

Z轴旋转示意

二,基本思路

用四张尺寸相同的图片以绝对定位重叠在一起,然后以4*90度旋转拼成一个四面体,接着用一个父元素包裹四张图片,旋转父元素,实现四面体的旋转。

三,代码实现

1,HTML部分,注意这里要对cs和js文件做引用,并定义好元素间的关系。

2,CSS部分,这里拼成了一个四面体,关键点见代码注释。

.banner{

margin-top:250px;

margin-left:350px;

width:960px;

height:200px;

perspective:300px;/*定义视距*/

}

.banner #stage{/*父元素*/

position:relative;

width:960px;

height:200px;

transform-style:preserve-3D;/*定义样式为3D*/

transition:all 1s;

transform:rotateX(0deg);/*父元素初始旋转为0度*/

}

.banner #stage #img1{/*图1*/

width:960px;

height:200px;

position:absolute;

transform:translateZ(100px);/*图片1前移100像素,未旋转*/

transition:all 1s;

}

.banner #stage #img2{/*图2*/

width:960px;

height:200px;

position:absolute;

transition:all 1s;

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

/*图片2前移100像素,X轴旋转-90度*/

}

.banner #stage #img3{/*图3*/

width:960px;

height:200px;

position:absolute;

transition:all 1s;

/*图片3前移100像素,X轴旋转-180度*/

}

.banner #stage #img4{/*图4*/

width:960px;

height:200px;

position:absolute;

transition:all 1s;

transform:rotateX(-270deg) translateZ(100px);

/*图片2前移100像素,X轴旋转-270度*/

}

3,JS部分,这里加了一个定时器,实现父元素匀速往复旋转。

"use strict"

let stage=document.getElementById("stage");

let imgs=stage.querySelectorAll(".light #stage>img");

(function(){

let k=90;

setInterval((function task(){

stage.style.transform=`rotateX(${k}deg)`;

k+=90;

}),1000)

})()

三棱锥四面体html css,CSS transform属性实现旋转的四面体相关推荐

  1. 巧用左手判断CSS中transform:rotate旋转方向

    在制作网页的过程中,我们会经常让元素进行旋转,来形成一定的立体感,或是配合关键帧(@keyframe)做成动画特效,使得页面更加美观. 在css3中我们可以借助transform:rotate();来 ...

  2. 用CSS实现3D魔方动画旋转

    一.3D魔方的实现 这里呢主要是用我们的div标签来对魔方的各个面及各个块进行实现,先上一个主体的html代码吧 <div id="box"><!-- 各个面 - ...

  3. CSS transform属性的简单应用——双开门动画效果

    1.效果演示 CSS transform属性有许多效果,平移.旋转.缩放等. 这里简单应用平移效果,实现双开门动画,以下为效果图. 2.设计思路 设置一张居中的需要隐藏的底图. 设置封面图,平分成左右 ...

  4. CSS 与 地图可视化 三棱锥 (九)

    地图可视化来到Css 篇章了,这次一口气是兼容了7个地图引擎, 这次直接上包应用 类库兼容地图引擎有 mapbox maptalks arcgis 4 leaflet openlayer 高德地图 百 ...

  5. 三分钟快速了解CSS Display的属性:Block,Inline,Inline-Block

    文章目录 三分钟快速了解CSS Display的属性:Block,Inline,Inline-Block Block Inline Inline-block Block,Inline,Inline-B ...

  6. css让div旋转,CSS3 transform 属性 旋转 div 元素

    div { transform:rotate(7deg); -ms-transform:rotate(7deg); /* IE 9 */ -moz-transform:rotate(7deg); /* ...

  7. html5 3d原理,使用css创建三角形 使用CSS3创建3d四面体原理及代码(html5实践)

    今天读了篇关于如何使用css3创建3d四面体的文章,觉的相当不错,所以拿出来和大家分享一下. 首先要和大家分享的是,如何使用div+css创建三角形.在这里我先把相关代码粘贴出来,然后再为大家讲解原理 ...

  8. CSS position(定位)属性

    关于CSS position,来自MDN的描述: CSS position属性用于指定一个元素在文档中的定位方式.top.right.bottom.left 属性则决定了该元素的最终位置. 然后来看看 ...

  9. CSS 动画相关属性动态实例大全(82种),2023年祝福第二弹(送你一只守护兔)(下),守护兔源代码免费下载

    2023年春节祝福第二弹--送你一只守护兔(下) CSS 动画相关属性动态实例大全(82种).守护兔源代码免费下载 本文目录: 五.CSS3 动画相关属性实例大全 (1).CSS3的动画基本属性 (2 ...

最新文章

  1. RxJava初入学习(一)之Gifts-for-designers
  2. CSP:CSP认证考试:202104-1(灰度直方图)满分答案,Java版
  3. 读书笔记-沙漠里的细水微光
  4. ubuntu配置vnc访问
  5. 抖音数据统计_26万条抖音数据背后的推荐逻辑以及严重失调的男女比例
  6. show部分书...
  7. LeetCode 628. 三个数的最大乘积
  8. C++ 预处理与宏相关编程(#,##等等)
  9. vue-cli3.0使用及部分配置详解
  10. MongoDB 运行状态、性能监控,分析
  11. jQuery Callback 方法
  12. <<游戏设计艺术>>笔记
  13. filenet java配置_技术的力量:IPFS新贵Filenet缘何采用Podt
  14. USB | 1. 技术演进及测试概览
  15. java自习_java自习重点及自测
  16. Jmeter 录制手机脚本
  17. c++中“箭头(-)”和“点号(.)”操作符的区别 .
  18. 为什么用线程池?解释下线程池参数? -- Java面试
  19. 关于*.md文件打开的问题及图片丢失
  20. 如何获取屏幕保护程序的密码

热门文章

  1. P1444 [USACO1.3]虫洞 wormhole,新手向超详细讲解(搜索、判环、拆点、好题)
  2. P1276 校门外的树(增强版)(线段树)(校门三部曲)难度⭐⭐⭐
  3. 从数组中取出m个数相加的结果(组合)
  4. python如何使用ppip安装xlwt_Python中xlrd和xlwt模块使用方法
  5. 数据库实例(统计最高分学生信息,不及格率等等)
  6. 解决ajax.open方法失效问题
  7. CoordinatorLayout 之深入理解
  8. 至2019年全球Hadoop市场年复合增长率将达53%
  9. SortedDictionaryTKey, TValue 类 表示根据键进行排序的键/值对的集合。
  10. 北大BBS2008年毕业生晒工资