当前位置: 首页 > news >正文

wordpress做后端上海企业网站优化公司

wordpress做后端,上海企业网站优化公司,网站图片添加alt标签,网络营销方案范文3篇文章目录 前言一、项目需求背景二、CSS3 3D基础知识介绍2.1 什么是CSS3 3D#xff1f;2.2 主要使用的CSS属性 三、使用HTML和CSS搭建魔方结构四、让魔方动起来#xff1a;CSS3动画五、九宫格数字交换的JavaScript实现5.1 九宫格布局5.2 随机交换数字 六、随机交换与相邻格子的… 文章目录 前言一、项目需求背景二、CSS3 3D基础知识介绍2.1 什么是CSS3 3D2.2 主要使用的CSS属性 三、使用HTML和CSS搭建魔方结构四、让魔方动起来CSS3动画五、九宫格数字交换的JavaScript实现5.1 九宫格布局5.2 随机交换数字 六、随机交换与相邻格子的逻辑七、项目总结与完整代码总结 前言 在前端开发中视觉效果的提升一直是提升用户体验的重要手段。通过CSS3和JavaScript的组合我们可以实现很多令人惊叹的动画效果。在本文中我们将通过一个实际的案例展示如何实现一个旋转魔方的3D效果并且在魔方的九宫格上随机交换数字。这个动效看似复杂但通过合理的CSS与JavaScript编排你会发现它不仅有趣且非常具有实用性。 一、项目需求背景 在日常的网页设计中3D效果和动效已经逐渐成为了增强用户体验的重要元素。这次实现的效果我希望通过一个3D魔方展示如何将CSS3的3D变换与JavaScript的动态交互相结合。魔方不仅会进行旋转魔方面上的数字也会以随机相邻交换的方式进行变化。 二、CSS3 3D基础知识介绍 2.1 什么是CSS3 3D CSS3引入了transform属性允许开发者对元素进行三维操作。我们可以通过rotateX、rotateY等方法在三维空间中旋转元素。本文中的魔方正是基于这些技术实现的它不仅在X、Y、Z轴上进行旋转同时使用perspective属性给予了它空间感。 2.2 主要使用的CSS属性 • transform: 进行三维旋转、平移的核心属性。 • transform-style: 确保元素的子元素在3D空间中呈现。 • keyframes: 定义动画效果的关键帧确保魔方能流畅旋转。三、使用HTML和CSS搭建魔方结构 在实现复杂动效前我们首先需要搭建魔方的基础结构。魔方由6个面组成每个面都是一个九宫格布局。具体的HTML结构如下 div classmagic-cubediv classface front/divdiv classface back/divdiv classface left/divdiv classface right/divdiv classface top/divdiv classface bottom/div /div每个面对应一个CSS类通过position和transform属性定义它们在3D空间中的位置。 四、让魔方动起来CSS3动画 使用CSS的keyframes我们可以让魔方进行自动旋转。通过多个关键帧的设定魔方可以围绕X、Y、Z三个轴进行不同方向的旋转。 keyframes complexRotate {0% { transform: rotateX(-30deg) rotateY(-45deg) rotateZ(0deg); }100% { transform: rotateX(120deg) rotateY(180deg) rotateZ(-80deg); } }五、九宫格数字交换的JavaScript实现 5.1 九宫格布局 我们通过HTML动态生成九宫格的每个格子并为每个格子指定初始的数字和位置。 positions.forEach((pos, i) {const cell document.createElement(div);cell.textContent i 1;cell.style.top pos.top;cell.style.left pos.left;face.appendChild(cell); });5.2 随机交换数字 为了让数字的变化更具动感我们通过JavaScript随机交换相邻的格子位置。交换的动画由CSS的transition属性负责实现平滑过渡。 六、随机交换与相邻格子的逻辑 要确保数字交换的规则是合理的我们引入了一个函数来判断两个格子是否相邻。通过计算九宫格的行列位置我们限制了交换只能发生在相邻的格子之间。 function areAdjacent(index1, index2) {const row1 Math.floor(index1 / 3), col1 index1 % 3;const row2 Math.floor(index2 / 3), col2 index2 % 3;return (row1 row2 Math.abs(col1 - col2) 1) || (col1 col2 Math.abs(row1 - row2) 1); }七、项目总结与完整代码 通过本文我们实现了一个旋转魔方的3D效果并在每个面上实现了随机相邻格子的数字交换动效。CSS3的3D技术为魔方带来了空间感JavaScript则为九宫格的动态变化提供了强大的支持。本文的核心在于CSS3动画与JavaScript交互的结合通过这样的小项目你可以掌握如何实现更加复杂且富有视觉冲击力的网页效果。 !DOCTYPE html html langen headmeta charsetUTF-8meta nameviewport contentwidthdevice-width, initial-scale1.0title3D Magic Cube with More Tile Movements/titlestylebody {display: flex;justify-content: center;align-items: center;height: 100vh;background-color: #2e3440;margin: 0;}.magic-cube {position: relative;width: 180px;height: 180px;transform-style: preserve-3d;transform: rotateX(-30deg) rotateY(-45deg);animation: complexRotate 8s infinite linear;}.face {position: absolute;width: 180px;height: 180px;display: flex;flex-wrap: wrap;perspective: 1000px;}.face div {width: calc(100% / 3);height: calc(100% / 3);display: flex;justify-content: center;align-items: center;font-size: 20px;background: rgba(255, 255, 255, 0.9);border: 1px solid #ccc;box-sizing: border-box;position: absolute;transition: all 0.5s ease;}.front { transform: rotateY(0deg) translateZ(90px); background-color: #ff4d4d; }.back { transform: rotateY(180deg) translateZ(90px); background-color: #4d94ff; }.left { transform: rotateY(-90deg) translateZ(90px); background-color: #4dff4d; }.right { transform: rotateY(90deg) translateZ(90px); background-color: #ffff4d; }.top { transform: rotateX(90deg) translateZ(90px); background-color: #ff944d; }.bottom { transform: rotateX(-90deg) translateZ(90px); background-color: #944dff; }keyframes complexRotate {0% { transform: rotateX(-30deg) rotateY(-45deg) rotateZ(0deg); }25% { transform: rotateX(30deg) rotateY(45deg) rotateZ(20deg); }50% { transform: rotateX(60deg) rotateY(90deg) rotateZ(-40deg); }75% { transform: rotateX(90deg) rotateY(135deg) rotateZ(60deg); }100% { transform: rotateX(120deg) rotateY(180deg) rotateZ(-80deg); }}/style /head bodydiv classmagic-cubediv classface front/divdiv classface back/divdiv classface left/divdiv classface right/divdiv classface top/divdiv classface bottom/div/divscriptconst positions [{top: 0%, left: 0%}, {top: 0%, left: 33.33%}, {top: 0%, left: 66.66%},{top: 33.33%, left: 0%}, {top: 33.33%, left: 33.33%}, {top: 33.33%, left: 66.66%},{top: 66.66%, left: 0%}, {top: 66.66%, left: 33.33%}, {top: 66.66%, left: 66.66%}];// 判断两个索引是否相邻function areAdjacent(index1, index2) {const row1 Math.floor(index1 / 3), col1 index1 % 3;const row2 Math.floor(index2 / 3), col2 index2 % 3;// 只允许水平或者垂直方向相邻不能跨行或者跨列return (row1 row2 Math.abs(col1 - col2) 1) || (col1 col2 Math.abs(row1 - row2) 1);}document.addEventListener(DOMContentLoaded, () {const faces document.querySelectorAll(.face);// 初始化每个面九宫格faces.forEach(face {positions.forEach((pos, i) {const cell document.createElement(div);cell.textContent i 1;cell.style.top pos.top;cell.style.left pos.left;face.appendChild(cell);});});// 随机交换多个相邻格子setInterval(() {faces.forEach(face {const cells face.querySelectorAll(div);// 让多个相邻格子随机交换增加动效复杂性for (let i 0; i 3; i) { // 每次交换三组格子let index1 Math.floor(Math.random() * 9);let index2 Math.floor(Math.random() * 9);// 确保两个格子是水平或垂直相邻的while (!areAdjacent(index1, index2)) {index2 Math.floor(Math.random() * 9);}// 获取两个相邻的格子const cell1 cells[index1];const cell2 cells[index2];// 交换两个格子的 top 和 left 值const tempTop cell1.style.top;const tempLeft cell1.style.left;cell1.style.top cell2.style.top;cell1.style.left cell2.style.left;cell2.style.top tempTop;cell2.style.left tempLeft;}});}, 1200); // 每隔1.2秒随机交换相邻格子});/script /body /html总结 这篇博文展示了CSS3和JavaScript结合使用的强大之处通过这个项目我们不仅掌握了CSS3 3D动画的基本操作还学会了如何利用JavaScript实现页面中动态内容的变化。希望这篇文章能为你今后的项目带来一些启发无论是复杂的动画效果还是简单的交互CSS和JavaScript的结合总能带来惊艳的视觉效果。
http://www.hkea.cn/news/14380138/

相关文章:

  • 公司网站开发哪家好建设股份有限公司
  • 门户网站 建设方案国外怎么做直播网站吗
  • 东莞高端网站定制杭州数据推广
  • sae 安装新版wordpressseo顾问服务公司
  • 网站建设赵玉敏世界优秀摄影作品网站
  • 南昌市网站建设绍兴网站开发08keji
  • 网站推广岗位的要求东莞网页制作费用
  • 做网站一天能赚多少钱餐饮公司做网站好处
  • 那家做网站比较好网站建设公司 六安
  • 技术支持 海安网站建设搜索引擎优化网站排名
  • 阿里云网站主体变更怎么做上首页seo
  • 给一个装修公司怎么做网站网站建设门店牌子
  • 网站代码怎么改零基础学做网站页
  • 设计网站公司 露 联湖南岚鸿做网站能用自己电脑吗
  • 网站设计培训班百度seo综合查询
  • 五家渠网站建设工业设计网页
  • 由前台有后台的网站怎么做专门做辅助的扎金花网站
  • 网站建设费可以计入办公费用么企业网站设计
  • 扬州做阿里巴巴的公司网站专业做轮胎的网站
  • 阿里云备案 网站名称聊天app开发费用
  • 大学网站建设社区平安建设基层网站
  • 常州天宁区做网站公司学网站建设多少钱
  • seo网站推广什么意思WordPress mip
  • 做PHP网站前端网站进不去做pcr查基因序列的网站
  • 电脑配件经营网站的建设论文seo 重庆
  • 烟台建网站公司哪家好乌海市建设局网站
  • 建设河南网站最便宜的购物网站排名
  • 服装印花图案网站男人网址你懂我意思正能量
  • 浙江省建设协会网站首页网络营销咨询服务
  • 苏州集团网站建设网站开发子孙账号