今天以纯HTML和CSS实现3D旋转魔方,可以搭建服务器上,发给自己关心的人,咳,收获了感动。整挺好~~~

1、实现效果展示

魔方实现hover效果,悬停相应魔方面会打开,如图

2、实现过程

前期准备:

设置三个文件夹:css、html、images;分别放置文件index.css、index.html、images

1、HTML代码片段

1.1 放置图片肯定需要一个容器,毋庸置疑,最外层的容器为container

<div class="container"></div>

1.2  通过分析,魔方有6个面,但是实现hover的时候有一个分解的效果,总共有12个面

嗯,有点意思,直接在container容器里放置12div元素,div*12 Tab即可

<div class="container"><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>
</div>

1.3  HTML代码解决了,在编写CSS之前先引入CSS样式表,即index.html中引入index.css,引入的index.css一般放置在title标签下面,href文件路径根据自己设置而定。

<title>旋转魔方</title>
<link rel="stylesheet" href="../css/index.css">

2、CSS代码片段

2.1  css编写第一步一般都会写通配符来去除内外边距,来消除某些浏览器固定的网页模板对代码的影响。

*{margin: 0;padding: 0;
}

弹性盒布局设置:

魔方显然放在网页中心才显得好看,如何实现?传统布局——基于盒子模型,依赖 display 属性、position属性、float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。
并且,传统布局代码冗长,出错率高,要时刻注意清除浮动或者在进行绝对定位时给父元素添加相对定位。否则就容易造成页面布局混乱。但是,Flex布局就可以避免这种情况:Flex是Flexible Box的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。

详解:https://blog.csdn.net/a1015895218/article/details/115355465

2.2  对body进行设置弹性盒以及自己喜欢的背景颜色

body{//vw,vh为视口单位,1vw等于视口宽度的1%。width: 100vw;  height: 100vh;display: flex; //弹性盒设置justify-content:center; //主轴居中对齐align-items:center;     //交叉轴居中对齐/* 添加一个视距 */perspective: 1000px; //让旋转效果变得更真实background: #000;
}

2.3  对container容器元素进行相关设置,实现3D风格

.container{width: 150px;height: 150px;/* border: 1px solid; */transform-style: preserve-3d;position: relative;transition:5s;/* 之所以设置相对定位,是因为子绝父相 */animation: rotate 5s infinite linear;
}

2.4  container悬停的视觉效果设置

.container:hover{/* 当鼠标移入时,改变视角 */transform: rotateY(180deg) rotateX(180deg);
}

2.5  container下子元素div进行相关位置背景设置,子元素div相当于父元素container是绝对定位。

.container div{width: 100%;height: 100%;position: absolute;top: 0;left: 0;background-color: #fff;transition: 1s;background-color: #fff;
}

2.6  现在书写魔方各个面的背景图以及旋转角度等设置

.container div:nth-child(1),
.container div:nth-child(7){background: url('../images/img1.jpg') no-repeat center/cover white;transform: translateZ(75px);
}.container:hover div:nth-child(1){transform: translateZ(200px);
}.container div:nth-child(2),
.container div:nth-child(8){background: url('../images/img2.jpg') no-repeat center/cover white;transform: rotateX(-180deg) translateZ(75px);
}.container:hover div:nth-child(2){transform: rotateX(-180deg) translateZ(200px);
}.container div:nth-child(3),
.container div:nth-child(9){background: url('../images/img3.jpg') no-repeat center/cover white;transform: rotateX(90deg) translateZ(75px);
}.container:hover div:nth-child(3){transform: rotateX(90deg) translateZ(200px);
}.container div:nth-child(4),
.container div:nth-child(10){background: url('../images/img4.jpg') no-repeat center/cover white;transform: rotateX(-90deg) translateZ(75px);
}.container:hover div:nth-child(4){transform: rotateX(-90deg) translateZ(200px);
}.container div:nth-child(5),
.container div:nth-child(11){background: url('../images/img5.jpg') no-repeat center/cover white;transform: rotateY(90deg) translateZ(75px);
}.container:hover div:nth-child(5){transform: rotateY(90deg) translateZ(200px);
}.container div:nth-child(6),
.container div:nth-child(12){background: url('../images/img6.jpg') no-repeat center/cover white;transform: rotateY(-90deg) translateZ(75px);
}.container:hover div:nth-child(6){transform: rotateY(-90deg) translateZ(200px);
}

2.7  CSS里面使用动画分为2步,定义动画和使用动画

@keyframes rotate{0%{transform: rotateY(0deg) rotateX(0deg);}100%{transform: rotateY(360deg) rotateX(360deg);}
}

嗯~~~,HTML和CSS已编写结束,images里面的图片可以设置自己喜欢的图片,自己在网页上展示吧。

呜呜,看到这都还不点赞加收藏???

HTML+CSS实战操作旋转魔方相关推荐

  1. 如何利用css制作旋转魔方

    <!DOCTYPE html> <html><head><meta charset="utf-8" /><style>/ ...

  2. html魔方转动效果,简单说 用CSS做一个魔方旋转的效果

    说明 魔方大家应该是不会陌生的,这次我们来一起用CSS实现一个魔方旋转的特效,先来看看效果图! 解释 我们要做这样的效果,重点在于怎么把6张图片,摆放成魔方的样子,而把它们摆放成魔方的样子,重点在于用 ...

  3. 简单说 用CSS做一个魔方旋转的效果

    说明 魔方大家应该是不会陌生的,这次我们来一起用CSS实现一个魔方旋转的特效,先来看看效果图! 解释 我们要做这样的效果,重点在于怎么把6张图片,摆放成魔方的样子,而把它们摆放成魔方的样子,重点在于用 ...

  4. 用css编写一个简单的旋转魔方

    其实这个就是对CSS3 transform 属性animation属性的一个简单的应用,在网页平面中创建6个面(div),让这6个面匀速的不停的旋转,要创造出来一个3d的感觉,在一个2维的网页平面上, ...

  5. CSS动画之旋转魔方轮播

    下面我将一步一步详解如何利用纯CSS实现一个旋转魔方轮播的效果. 总的来说我们需要实现以下两个主要功能: 构建一个能够旋转的立方体 让立方体拥有基本轮播所具有的特性 但在完成以上两点之前我们需要再次了 ...

  6. web前端入门到实战:CSS动画之旋转魔方轮播

    下面我将一步一步详解如何利用纯CSS实现一个旋转魔方轮播的效果. 总的来说我们需要实现以下两个主要功能: 构建一个能够旋转的立方体 让立方体拥有基本轮播所具有的特性 但在完成以上两点之前我们需要再次了 ...

  7. CSS 3D炫酷的 旋转魔方

    最近在复习HTML 和 CSS,把以前做的一些小例子拿出来分享一下,也加深自己的印象 css 是通过 transform 来实现3D旋转的,看代码之前,先复习一下相关知识 transform-orig ...

  8. HTML+CSS制作旋转的loading效果

    HTML+CSS制作旋转的loading效果 效果图如下: HTML部分源代码如下: <!DOCTYPE html> <html lang="en">< ...

  9. css实现旋转的小流星动画

    效果如下: 完整代码如下 : <!DOCTYPE html> <html lang="en"> <head><meta charset=& ...

  10. java编程之数字魔方(N阶数字魔方和数字旋转魔方)

    N阶数字魔方 原理: 定义一个奇数阶二维数组,把每个元素顺序填入不同的自然数,要求行列和对角线元素相加的结果相等. 效果图: 实现代码: import java.util.*; public clas ...

最新文章

  1. IFormattable,ICustomFormatter, IFormatProvider接口
  2. 【Python面试】 说说Python变量、函数、类的命名规则?
  3. 解决NF4网卡网刻速度问题
  4. 关于Java中的HashMap
  5. d3设置line长度_万物皆可Embedding之LINE算法解读
  6. mysql 1215_mysql执行带外键的sql文件时出现mysql ERROR 1215 (HY000): Cannot add foreign key constraint的解决...
  7. pandas 0.22导入错误
  8. nodejs+express- http 访问本地json数据
  9. 2018今日头条内推笔试1
  10. win10下ipv6安装与设置
  11. 大锅菜机器人_天津农学院现“炒菜机器人” 做番茄炒蛋堪比大师傅
  12. 第二十三章 天猫精灵控制ESP32(wifi+tcp+json)
  13. 浏览器中Vimium 插件快捷键
  14. java中有这个符号吗吗_Java中-符号是什么意思啊
  15. linux:通过rpm包部署FTP服务
  16. mac maven 配置。简单四步
  17. 【QT】QT之QElapsedTimer计时
  18. 爬虫python编程与cvi编程_无编程经验学习Python做爬虫,目前遇到困难,请各位指点下?...
  19. 阅读报告Implementing arbitrary coined two-dimensional quantum walks via bulk optical interferometry
  20. vba 根据字节数截取字符串

热门文章

  1. 计算机应用数值换算,单位换算计算器完整版
  2. ProE5.0有限元分析优化设计Mechanica视频教程
  3. 如何用笔记本破解无线网络密码?破解无线网络密码的教程
  4. 国内 OA 办公自动化系统 现状
  5. 鲁大师与EVEREST哪个好?
  6. AlphaBlend失败,错误码87
  7. 从跑步小白到马拉松、再到百公里越野跑的晋级之路
  8. 河南职称计算机考试多少分通过,2019年河南职称计算机考试报名通知
  9. 展锋芒,一遇风云便化龙
  10. 如果可以不上班《不上班的23种活法》免费下载及经典语录