CSS3 中3D转换--旋转正方体,滚动照片墙的写法

CSS3实现3d效果照片墙 项目效果 实现原理 首先给他一个div盒子 ,然后在里面给他装8个div装img,给装img的div一个position:absolute,使所有的照片都叠在一起,然后给个transform:translatesZ(px)使图片在对应的角度移动出来,再给每个装img的div一个transform:rotateY(deg)给45deg、90deg、135deg、180deg、225deg、270deg、315deg、360deg,不同的位置给出不同的角度使图片展现出上图的位置 HTML <!DOCTY 阅读详情

首先给父元素加两个属性,把父元素变成3D空间。
(1)transform-style:preserve-3d; (观察的场所 3D空间)
(2)perspective:1000px;(近大远小–景深prespective,元素距离观察点的距离也就是物体和眼睛的距离,通常在900-1200之间。)

然后利用3D转换的属性
transform

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>立方体</title>
        <style type="text/css">
            *{margin:0;padding:0;}
            li{list-style:none;}
            a{text-decoration:none;}
            @keyframes move{
                0%{transform: rotatey(0deg);}
                10%{transform: rotate(36deg);}
                20%{transform: rotatey(72deg);}
                30%{transform: rotate(108deg);}
                40%{transform: rotatey(144deg);}
                50%{transform: rotate(180deg);}
                60%{transform: rotate(216deg);}
                70%{transform: rotatey(252deg);}
                80%{transform: rotate(288deg);}
                90%{transform: rotatey(324deg);}
                100%{transform: rotate(360deg);}    
            }
            /*以上动画效果是旋转,至于如何旋转可以自己设计,你可以自己设计一个炫酷的效果*/
            .box{width:300px;height:300px;transform-style: preserve-3d;perspective: 1000px;margin: 50px auto;}
            ul{width:200px;height:200px;position: relative;transform-style: preserve-3d;margin: 50px auto;animation:move 15s linear infinite ;}
            ul li{width:200px;height:200px;background: #f00;position: absolute;top:0;left: 0;}
            /*以下为重点内容,重点在于每个面是如何进行转换的*/
            ul li:first-child{background: #f00;transform: translateZ(100px);}
/*将第一个面沿Z轴正方向(一般不沿着Z轴的负方向平移)(在正常情况下,Z轴永远朝着自己)平移100px,也就是向前平移100px,此面为面向自己的面*/
            ul li:last-child{background: #00f;transform:rotateY(180deg) translateZ(100px);}
/*将最后一个面旋转180度,然后Z轴就反过来了(在正常情况下,Z轴永远朝着自己)而现在Z轴反过来,Z轴就背对着自己,也就是向后平移100px,此面为后面的面*/
            ul li:nth-child(2){background:#ff0;transform:rotateY(90deg) translateZ(100px);}
/*将第二个面沿Y轴旋转90度,旋转后z轴方向向左,然后再沿Z轴正方向平移100px,此面是左边的面,*/
            ul li:nth-child(3){background: #0f0;transform:rotateY(-90deg) translateZ(100px);}}
/*同理,将第三个面沿Y轴旋转-90度,旋转后z轴方向向右,然后再沿Z轴正方向平移100px,此面是右边的面,*/
            ul li:nth-child(4){background: #f0f;transform:rotateX(90deg) translateZ(100px);}}
/*将第四个面沿X轴旋转90度,旋转后z轴方向向下,然后再沿Z轴正方向平移100px,此面是下边的面,*/
            ul li:nth-child(5){background: #0ff;transform:rotatex(-90deg) translateZ(100px);}
/*将第五个面沿X轴旋转-90度,旋转后z轴方向向上,然后再沿Z轴正方向平移100px,此面是上边的面,*/
        </style>
    </head>
    <body>
        <div class="box">
        <ul>
            <li>1</li>
            <li>2</li>
            <li>3</li>
            <li>4</li>
            <li>5</li>
            <li>6</li>
        </ul>
        </div>
    </body>
</html>

下面是滚动照片墙案例;
原理相同先旋转角度后再平移。
以下是源代码

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            *{margin: 0;padding: 0;}
            li{list-style: none;}
            a{text-decoration: none;}
            img{display: block; border:0;}
            @keyframes move{
                0%{transform: rotateY(0deg);}
                10%{transform: rotateY(36deg);}
                20%{transform: rotateY(72deg);}
                30%{transform: rotateY(108deg);}
                40%{transform: rotateY(144deg);}
                50%{transform: rotateY(180deg);}
                60%{transform: rotateY(216deg);}
                70%{transform: rotateY(252deg);}
                80%{transform: rotateY(288deg);}
                90%{transform: rotateY(324deg);}
                100%{transform: rotateY(360deg);}   
            }

            .box{width: 300px;height:300px;transform-style: preserve-3d; perspective: 1000px;margin:100px auto;}
            ul{width:200px;height:200px;position: relative;transform-style: preserve-3d;margin:100px auto;animation: move 20s linear infinite;transform: rotateX(30deg);}
            ul li{width:100px;height:200px;overflow: hidden;position: absolute;top:0;left: 0; overflow: hidden;transition: 1s all ease;}
            ul li img{width:100px;height:200px;}
            ul li:hover img{width:120px;height:220px;}
            ul li img{width:100px;height:200px;}

            ul li:nth-child(1){transform: rotateY(30deg) translateZ(200px);}
            ul li:nth-child(2){transform: rotateY(60deg) translateZ(200px);}
            ul li:nth-child(3){transform: rotateY(90deg) translateZ(200px);}
            ul li:nth-child(4){transform: rotateY(120deg) translateZ(200px);}
            ul li:nth-child(5){transform: rotateY(150deg) translateZ(200px);}
            ul li:nth-child(6){transform: rotateY(180deg) translateZ(200px);}
            ul li:nth-child(7){transform: rotateY(210deg) translateZ(200px);}
            ul li:nth-child(8){transform: rotateY(240deg) translateZ(200px);}
            ul li:nth-child(9){transform: rotateY(270deg) translateZ(200px);}
            ul li:nth-child(10){transform: rotateY(300deg) translateZ(200px);}
            ul li:nth-child(11){transform: rotateY(330deg) translateZ(200px);}
            ul li:nth-child(12){transform: rotateY(0deg) translateZ(200px);}    
        </style>
    </head>
    <body>
        <div class="box">
            <ul>
                <li><a href="#"><img src="img/hai.png"/></a></li>
                <li><a href="#"><img src="img/hai.png"/></a></li>
                <li><a href="#"><img src="img/hai.png"/></a></li>
                <li><a href="#"><img src="img/hai.png"/></a></li>
                <li><a href="#"><img src="img/hai.png"/></a></li>
                <li><a href="#"><img src="img/hai.png"/></a></li>
                <li><a href="#"><img src="img/hai.png"/></a></li>
                <li><a href="#"><img src="img/hai.png"/></a></li>
                <li><a href="#"><img src="img/hai.png"/></a></li>
                <li><a href="#"><img src="img/hai.png"/></a></li>
                <li><a href="#"><img src="img/hai.png"/></a></li>
                <li><a href="#"><img src="img/hai.png"/></a></li>
            </ul>
        </div>
    </body>
</html>
浅谈css3的3D动画效果并制作一个简单的旋转照片墙 各位读者大家好,我是一只小菜鸟。目前正在学习web前端方面的相关知识.,这也是小菜鸟第一次写博客。写的有哪里不对的地方欢迎各位指正。 本篇文章内容就是利用HTML简单的布局再加上CSS3的动画效果做出一个立体旋转的照片墙。效果如下图 ... 阅读详情

相关推荐

photowall-backbone:无限滚动照片墙,使用 Backbone.js

照片墙骨干网 一个无限滚动的照片墙,使用 Backbone.js 制作并使用 greensock 制作动画。 请分叉并改进:)

css3D动画知识点,css3+js实现立方体照片墙以及鼠标拖动旋转及呼吸灯效果案例

1. perspective设置透视点,可以设置为任意值,但通常推荐设置为600-1000之间 2.位移(translate) transform: translateX(n) 让元素沿着x轴移动 设置正数: 从左向右 设置负数: 从右向左 transform: translateY(n) 让元素沿着Y轴移动 ...

WYWEBGO的博客 616

HTML5CSS3 3D环形图片墙 伴随旋转动画

HTML5 CSS3 3D环形图片墙 伴随旋转动画 HTML5CSS3 3D环形图片墙 伴随旋转动画

CSS的3d翻滚特效

注:本篇文章是笔者,刚接触CSS时所写,一些理解或是解释可能有错,希望大家指正讨论共同进步。 刚开始写网页时总会有很多困难,其中用CSS来实现简单的特效,便是难点之一,当然所有的难点共同之处便是,一次性出现过多的新名词导致无从下手。而这次便是分享一下用CSS的写特效时所用的一些属性。 当然用CSS3写特效之前要准备好一些提前工作: div盒模型的了解 position 的relative abs...

一名假人的博客 1505

常见的AXI总线仲裁器概述-AXI协议理解(一)

SoC 设计广泛采用共享总线式的片上通信,其中的仲裁器是共享总线的关键技术之一。AMBA AXI 总线协议以高性能、高频率的系统设计为目标,适合高带宽、低延迟的系统设计,可以达到高频率的操作而不需要复杂的总线桥,满足众多部件的接口要求,具备高度灵活的互联结构,并且向后兼容 AHB 和 APB 接口。

Paul 安的博客 1万+

POWER SI仿真流程

一、打开软件Power SI二、加载PCB,可以直接使用brd文件,不用再进行格式转换三、check Stackup,与原来的PCB叠层对照一遍,检查数据加载后有没有出错。四、select Nets,加载brd文件后,可能所有的网络都处于使用状态,先在右侧net manager下面右键disable all nets,再使能需要仿真的电源网络(如果要仿真的网络没有归属到电源网络,在其上右键,选classfy as power \ground nets)

lx5213的博客 1324

html图片墙 无限滚动,尝试用CSS3实现无限循环的无缝滚动

有时候在页面的某个模块中,需要无限循环的滚动一些消息。那么如果我们用js实现无缝衔接滚动的思路是什么呢(比如我们这个模块是向上滚动的)?克隆A一份完全一样的数据B放在原数据A的后面;使用setInterval向上滚动A的父级容器;当向上滚动的距离L正好的A的高度时(L==A.height()),L=0,重新开始滚动,无限循环。克隆一份数据放在后面,是为了当A向上移动时,后面有数据能填补漏出来的空白...

weixin_28788777的博客 2251

告别仿真报错!手把手教你为Intel MAX10 FPGA定制IBIS模型(附Allegro Skill工具)

本文详细介绍了为Intel MAX10 FPGA定制IBIS模型的完整流程,解决信号完整性仿真中的管脚映射问题。通过Allegro Skill工具自动化处理管脚信息,优化IBIS模型关键段落,提升仿真效率和精度,适用于高速数字电路设计。

weixin_33217202的博客 324

用CSS3做一个立方照片墙

用CSS3的2D,3D和动画效果来做一个立方照片墙3D转换:    平移    translateX()        沿X轴平移    translateY()        沿Y轴平移    translateZ()        沿Z轴平移    旋转    rotateX()        绕X轴旋转    rotateY()        绕Y轴旋转    rotateZ()      ...

KysonLai的博客 2531

嵌入式统一消息机制:模块解耦与零拷贝通信设计

在嵌入式系统开发中,模块间通信(IMC)是影响可维护性与实时性的关键环节。传统IPC方式如全局变量、信号量或Socket易导致高耦合、调试困难及跨平台适配成本高。统一消息机制通过逻辑地址抽象、标签/实体分离、路由表驱动等原理,实现控制流与数据流解耦,在裸机、RTOS及Linux用户态保持一致接口。其技术价值在于降低模块依赖复杂度、支持动态增删与分布式迁移,并通过零拷贝优化显著减少CPU与内存开销。典型应用场景涵盖工业网关、城域交换机、多核ARM边缘设备等资源受限环境,尤其适用于需长期稳定运行、快速迭代与混合

weixin_35257663的博客 290

2024年最新双摄像头的实时视频拼接及目标跟踪(一)_监控视频拼接实时(1),网络相关+C C++三方库的源码分析+数据结构与算法

opencv中采用了SURF,ORB进行特征点提取,如果装的是opencv2.0版本,则可以直接用SURF,如果是3.0版本,则需要下载相应的contrib库进行安装。原理不赘述,给出其实验结果对比和分析,原始图像1SURF特征点提取网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。需要这份系统化的资料的朋友,可以添加戳这里获取一个人可以走的很快,但一群人才能走的更远!

m0_51437227的博客 937

HTML5 纯CSS3实现正方体旋转3D效果,零基础也能看得懂

right: 0;

791

SAP FAGLFLEXT 是 SAP 新总账的核心余额表,存储多维度的汇总余额数据。核心结论:该表按 “科目 + 会计年度 + 期间 + 维度” 存储累计余额,字段可分为基础标识

FAGLFLEXT是SAP新总账的核心余额表,采用"科目+年度+期间+维度"结构存储多维汇总数据。其字段分为基础标识(科目、年度等)、维度细分(公司代码、利润中心等15个维度)、金额数值(本外币余额)、辅助控制(状态标识)四大类,支持新总账的灵活核算。该表通过凭证自动更新,与旧总账GLT0相比显著扩展了维度核算能力,各维度需在科目主数据或Ledger配置中启用才能使用。

金牌架构师 454

html5和css3实现3d正方体旋转

3d旋转

LIGHT03的博客 1905

OpenClaw 钉钉和飞书集成方案研究 & OpenClaw 研究分析报告

OpenClaw(原名 Clawdbot,曾用名 Moltbot)是一款开源的个人 AI 智能体,采用"本地优先"设计理念。与传统聊天机器人不同,OpenClaw 具备真正的系统级执行能力,能够实际操作用户的计算机系统,完成各种实际任务。核心优势本地部署:所有数据存储在用户本地设备,隐私零泄露系统级执行:具备完整的系统访问权限,可执行文件操作、命令运行等全渠道交互:支持多种即时通讯平台作为交互界面开源透明:MIT 许可证,代码完全开放,社区驱动开发应用场景个人助理:日程管理、任务提醒、邮件处理。

AI天才研究院 2342

FastAPI 极简教程(偏实战,一篇搞定)

本文是一篇FastAPI实战教程,通过最少的概念讲解快速掌握FastAPI的核心功能。文章首先介绍FastAPI是基于Starlette和Pydantic的高性能Python API框架,具有自动生成文档、类型驱动校验、异步支持和依赖注入等优势。教程从安装环境开始,演示了如何创建最小项目并编写第一个"Hello World"接口。接着详细讲解了路由参数处理(Path/Query/Body)、Pydantic数据模型校验、响应模型控制、状态码设置等核心功能。在高级功能方面,重点介绍了错误处

AI天才研究院 817

用CSS实现立方体360度旋转

用CSS实现立方体360度旋转 <!doctype html> 超绚丽CSS3多色彩发光立方体旋转动画 ...

weixin_43893633的博客 480

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

css3炫酷立方体3D旋转

直接上代码,代码很容易懂 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta ...

小柒的前端之旅 1490

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

通过html+css制作滚动照片墙教程

通过html+css制作滚动照片墙教程 去发现同类优质开源项目:https://gitcode.com/ 本教程向您展示如何使用基础的html代码和css动画属性,打造一个滚动的照片墙。这个照片墙不仅能让您的照片动态展示,还内置了音乐播放器,并且背景图片会随着滚动到最前面的图片进行变化,增加了视觉效果和互动性。 简介 在本教程中,您将学习到: 如何使用html构建照片墙的结构。 如何应用css动...

gitblog_06786的博客 527

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

css的rotate3d实现炫酷的圆环转动动画

css的rotate3d实现炫酷的圆环转动动画

苏苏就是小苏苏的博客 1万+

html图片怎么加动画效果,css打造一个动画效果的图片墙

今天我们将开始建立另一个有趣的CSS演示。这次我们将创建一个大的、无缝的照片墙。当用户将鼠标悬停于一个图像,一个透明的黑色渐变效果覆盖在其上面。Demo:点击这里HTML代码第一步我们需要创建一个大概的结构,只需要一个div和无序的列表li。然后将图片元素放进去,先占着位置。 现在是不是开始有点感觉了?那我们可以添加具体的图片和文字信息了(你想添加什么...

weixin_35797090的博客 1869

CSS3+HTML5特效3 - 纵向无缝滚动

老惯例,先看例子。 This is a test 1. This is a test 2. This is a test 3. This is a test 4. This is a test 5. This is a test 1. 实现原理: 1. 利用CSS3的@keyframes规则创建动画效果; 2. 使用CSS3的animation效果完成滚...

weixin_30532369的博客 244

CSS3 transition实现超酷图片墙动画效果

一、前面的感慨以前也陆陆续续试过CSS3的一些特性,文字投影,多边框等。但都是试试而已,知道有这么回事。今天,见到了一个新玩意,transition,认认真真的试了一下,经过,我懵了,我呆了,我傻了,半天说不出话来,这…这…unbelievable,amazing,太神奇了,太不可思议了,几行简单的CSS,如此炫酷的动画效果,flash都不及的动画效果,我真是难以表达我的心情。我们可以先看一段下面...

weixin_34008933的博客 471

用代码做一个浪漫的“3D照片墙”

最近抖音上3D照片墙突然火了起来,一个动态的视频加上一个照片墙的弧形轮播,非常的炫酷。 抖音上的3D照片墙有的是用AE软件制作的,有的是通过软件生成的 那么今天就用代码做一个这种炫酷3D照片墙。

qq_33215172的博客 5376

HTML+CSS 旋转照片墙!源代码(简易动画干货快收藏!!)

拿走请三连,并注明出处, 新手上路,路过的大佬请多多指教~

qq_53400553的博客 2万+

纯 CSS 创作一个小球绕着圆环盘旋的动画

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/w178191520/article/details/84438573 效果预览 在线演示 ...

weixin_34236497的博客 775
上一篇: 移动端的界面中滚动条的显示
下一篇: JS倒计时
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值