3d正方体旋转相册

本文介绍了如何使用CSS3的transform和animation属性制作一个3D正方体旋转相册。首先解释了获取六张图片构建正方体模型,然后通过HTML布局和CSS3变换设置立方体结构,最后添加动画效果使其旋转,形成一个抖音风格的动态相册。
摘要由CSDN通过智能技术生成

参考链接:http://www.softwhy.com/article-9051-1.html

起因

事情的起因是这个样子的,作为中华好闺蜜,没理由让自己的小宝贝羡慕别人!!在这里插入图片描述在这里插入图片描述

效果图

先看效果图,比较有动力~
在这里插入图片描述

思路

1.先死皮赖脸要六张图片,构成正方体结构。
2.写html搭建立方体模型。
3.加入动画。

涉及到的知识点

CSS3 transform变换,CSS3 animation 动画

transform

此属性是CSS3新增,transform翻译成汉语具有"变换"或者"改变"的意思。
通过此属性具有非常强大的功能,比如可以实现元素的位移、拉伸或者旋转等效果。

transform:translate3d(x,y,z)

参数解析:

(1).x:表示在x轴方向的位移。

(2).y:表示在y轴方向的位移。

(3).z:表示在z轴方向的位移。

rotate3d(x,y,z,angle)

参数解析:

(1).x:是一个0到1之间的数值,主要用来描述元素围绕X轴旋转的矢量值。

(2).y:是一个0到1之间的数值,主要用来描述元素围绕Y轴旋转的矢量值。

(3).z:是一个0到1之间的数值,主要用来描述元素围绕Z轴旋转的矢量值。

(4).angle:一个角度值,指定在3D空间旋转角度,正值顺时针旋转,反之元素逆时。

animation
animation: animation-name animation-duration animation-timing-function animation-delay animation-iteration-count animation-direction animation-fill-mode animation-play-state;

参数解析:

(1).animation-name:规定动画的名称,利用它可以与@keyframes关联起来。

(2).animation-duration:规定动画的时长,时间是秒,比如5s。

(3).animation-timing-function:规定动画的过渡类型,可以使用内置固定的关键字,也可以自定义数据。

(4).animation-delay:规定动画开始前的延迟时间。

(5).animation-iteration-count:规定动画的重复次数。

(6).animation-direction:规定动画循环中是否会反向运动。

(7).animation-fill-mode:规定对象动画时间之外的状态。

(8).animation-play-state:规定动画是否正在运行或暂停。

蚂蚁部落(文章顶部参考链接),讲得很详细,这里只简单给出参数说明,如果还有困扰,这是直通车

具体实现过程:

第一步

完成基本的HTML结构

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>小小鸿</title>
    <style>
    </style>
</head>

<body>
    <div>
        <ul>
            <li>
                <img src="images/1.jpg">
            </li>
            <li>
                <img src="images/2.jpg">
            </li>
            <li>
                <img src="
HTML正方体3D旋转可以通过CSS中的transform属性实现。首先需要定义一个正方体的HTML结构,然后通过CSS设置其宽高和背景颜色,再使用transform-style: preserve-3d;属性将其转换为3D空间中的元素。接着,可以使用transform属性中的rotateX()、rotateY()、rotateZ()方法来分别对正方体进行绕X轴、Y轴、Z轴的旋转。同时,还可以使用scaleX()、scaleY()方法来对正方体进行缩放。最后,使用transform-origin属性来设置旋转的中心点。 下面是一个HTML正方体3D旋转的示例代码: ```html <div class="cube"> <div class="face front"></div> <div class="face back"></div> <div class="face left"></div> <div class="face right"></div> <div class="face top"></div> <div class="face bottom"></div> </div> ``` ```css .cube { width: 200px; height: 200px; position: relative; transform-style: preserve-3d; transform-origin: center center; animation: rotate 5s infinite linear; } .face { position: absolute; width: 200px; height: 200px; background-color: #ccc; border: 1px solid #999; } .front { transform: translateZ(100px); } .back { transform: translateZ(-100px) rotateY(180deg); } .left { transform: translateX(-100px) rotateY(-90deg); } .right { transform: translateX(100px) rotateY(90deg); } .top { transform: translateY(-100px) rotateX(90deg); } .bottom { transform: translateY(100px) rotateX(-90deg); } @keyframes rotate { from { transform: rotateY(0deg); } to { transform: rotateY(360deg); } } ``` 这段代码定义了一个200px * 200px的正方体,通过transform-style: preserve-3d;属性将其转换为3D空间中的元素,并使用transform-origin属性将旋转中心点设置为正方体的中心。接着,通过定义6个面的CSS样式,使用transform属性中的translateZ()、rotateY()、rotateX()方法来对正方体进行旋转和平移。最后,使用animation属性来定义一个旋转动画,使正方体不断绕Y轴旋转
评论 53
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值