HTML+CSS实战操作旋转魔方
今天以纯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实战操作旋转魔方相关推荐
- 如何利用css制作旋转魔方
<!DOCTYPE html> <html><head><meta charset="utf-8" /><style>/ ...
- html魔方转动效果,简单说 用CSS做一个魔方旋转的效果
说明 魔方大家应该是不会陌生的,这次我们来一起用CSS实现一个魔方旋转的特效,先来看看效果图! 解释 我们要做这样的效果,重点在于怎么把6张图片,摆放成魔方的样子,而把它们摆放成魔方的样子,重点在于用 ...
- 简单说 用CSS做一个魔方旋转的效果
说明 魔方大家应该是不会陌生的,这次我们来一起用CSS实现一个魔方旋转的特效,先来看看效果图! 解释 我们要做这样的效果,重点在于怎么把6张图片,摆放成魔方的样子,而把它们摆放成魔方的样子,重点在于用 ...
- 用css编写一个简单的旋转魔方
其实这个就是对CSS3 transform 属性animation属性的一个简单的应用,在网页平面中创建6个面(div),让这6个面匀速的不停的旋转,要创造出来一个3d的感觉,在一个2维的网页平面上, ...
- CSS动画之旋转魔方轮播
下面我将一步一步详解如何利用纯CSS实现一个旋转魔方轮播的效果. 总的来说我们需要实现以下两个主要功能: 构建一个能够旋转的立方体 让立方体拥有基本轮播所具有的特性 但在完成以上两点之前我们需要再次了 ...
- web前端入门到实战:CSS动画之旋转魔方轮播
下面我将一步一步详解如何利用纯CSS实现一个旋转魔方轮播的效果. 总的来说我们需要实现以下两个主要功能: 构建一个能够旋转的立方体 让立方体拥有基本轮播所具有的特性 但在完成以上两点之前我们需要再次了 ...
- CSS 3D炫酷的 旋转魔方
最近在复习HTML 和 CSS,把以前做的一些小例子拿出来分享一下,也加深自己的印象 css 是通过 transform 来实现3D旋转的,看代码之前,先复习一下相关知识 transform-orig ...
- HTML+CSS制作旋转的loading效果
HTML+CSS制作旋转的loading效果 效果图如下: HTML部分源代码如下: <!DOCTYPE html> <html lang="en">< ...
- css实现旋转的小流星动画
效果如下: 完整代码如下 : <!DOCTYPE html> <html lang="en"> <head><meta charset=& ...
- java编程之数字魔方(N阶数字魔方和数字旋转魔方)
N阶数字魔方 原理: 定义一个奇数阶二维数组,把每个元素顺序填入不同的自然数,要求行列和对角线元素相加的结果相等. 效果图: 实现代码: import java.util.*; public clas ...
最新文章
- IFormattable,ICustomFormatter, IFormatProvider接口
- 【Python面试】 说说Python变量、函数、类的命名规则?
- 解决NF4网卡网刻速度问题
- 关于Java中的HashMap
- d3设置line长度_万物皆可Embedding之LINE算法解读
- mysql 1215_mysql执行带外键的sql文件时出现mysql ERROR 1215 (HY000): Cannot add foreign key constraint的解决...
- pandas 0.22导入错误
- nodejs+express- http 访问本地json数据
- 2018今日头条内推笔试1
- win10下ipv6安装与设置
- 大锅菜机器人_天津农学院现“炒菜机器人” 做番茄炒蛋堪比大师傅
- 第二十三章 天猫精灵控制ESP32(wifi+tcp+json)
- 浏览器中Vimium 插件快捷键
- java中有这个符号吗吗_Java中-符号是什么意思啊
- linux:通过rpm包部署FTP服务
- mac maven 配置。简单四步
- 【QT】QT之QElapsedTimer计时
- 爬虫python编程与cvi编程_无编程经验学习Python做爬虫,目前遇到困难,请各位指点下?...
- 阅读报告Implementing arbitrary coined two-dimensional quantum walks via bulk optical interferometry
- vba 根据字节数截取字符串