css实现3d照片墙

效果图 

vue2写法: 

<template><div class="container"><div class="box"><div class="circle circle1"><img src="../../../assets/images/main/logo.png" alt="" /></div><div class="circle circle2"><img src="../../../assets/images/main/logo.png" alt="" /></div><div class="circle circle3"><img src="../../../assets/images/main/logo.png" alt="" /></div><div class="circle circle4"><img src="../../../assets/images/main/logo.png" alt="" /></div><div class="circle circle5"><img src="../../../assets/images/main/logo.png" alt="" /></div><div class="circle circle6"><img src="../../../assets/images/main/logo.png" alt="" /></div><div class="circle circle7"><img src="../../../assets/images/main/logo.png" alt="" /></div><div class="circle circle8"><img src="../../../assets/images/main/logo.png" alt="" /></div><div class="circle circle9"><img src="../../../assets/images/main/logo.png" alt="" /></div><div class="circle circle10"><img src="../../../assets/images/main/logo.png" alt="" /></div></div></div>
</template><script></script><style lang="less" scoped>
* {margin: 0;padding: 0;box-sizing: border-box;
}/* 设置可视窗口的宽高 */
body {width: 100vw;height: 100vh;position: relative;background-color: pink;
}.container {position: absolute;width: 1000px;height: 500px;top: 15%;left: 50%;transform: translateX(-50%);z-index: 1;display: flex;justify-content: center;align-items: center;perspective: 1000px;
}.box {width: 150px;height: 150px;position: relative;transform-style: preserve-3d;animation: run 10s linear infinite;
}.circle {position: absolute;top: 0;left: 0;width: 150px;height: 150px;
}/*设置图像大小、边框、圆角、位置*/
.circle img {width: 200px;height: 150px;border: 1px solid #ccc;border-radius: 10px;box-sizing: border-box;
}.circle1 {transform: translateZ(500px);
}.circle2 {transform: rotateY(36deg) translateZ(500px);
}.circle3 {transform: rotateY(72deg) translateZ(500px);
}.circle4 {transform: rotateY(108deg) translateZ(500px);
}.circle5 {transform: rotateY(144deg) translateZ(500px);
}.circle6 {transform: rotateY(180deg) translateZ(500px);
}.circle7 {transform: rotateY(216deg) translateZ(500px);
}.circle8 {transform: rotateY(252deg) translateZ(500px);
}.circle9 {transform: rotateY(288deg) translateZ(500px);
}.circle10 {transform: rotateY(324deg) translateZ(500px);
}@keyframes run {0% {transform: rotateY(0);}100% {transform: rotateY(360deg);}
}
</style>

html写法:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>动画2</title>
</head><body><style>* {margin: 0;padding: 0;box-sizing: border-box;}/* 设置可视窗口的宽高 */body {width: 100vw;height: 100vh;position: relative;background-color: pink;}.container {position: absolute;width: 1000px;height: 500px;top: 15%;left: 50%;transform: translateX(-50%);z-index: 1;display: flex;justify-content: center;align-items: center;perspective: 1000px;}.box {width: 150px;height: 150px;position: relative;transform-style: preserve-3d;animation: run 10s linear infinite;}.circle {position: absolute;top: 0;left: 0;width: 150px;height: 150px;}/*设置图像大小、边框、圆角、位置*/.circle img {width: 200px;height: 150px;border: 1px solid #ccc;border-radius: 10px;box-sizing: border-box;}.circle1 {transform: translateZ(500px);}.circle2 {transform: rotateY(36deg) translateZ(500px);}.circle3 {transform: rotateY(72deg) translateZ(500px);}.circle4 {transform: rotateY(108deg) translateZ(500px);}.circle5 {transform: rotateY(144deg) translateZ(500px);}.circle6 {transform: rotateY(180deg) translateZ(500px);}.circle7 {transform: rotateY(216deg) translateZ(500px);}.circle8 {transform: rotateY(252deg) translateZ(500px);}.circle9 {transform: rotateY(288deg) translateZ(500px);}.circle10 {transform: rotateY(324deg) translateZ(500px);}@keyframes run {0% {transform: rotateY(0);}100% {transform: rotateY(360deg);}}</style><body><div class="container"><div class="box"><div class="circle circle1"><img src="./img/QQ图片20221114190101.jpg" alt=""></div><div class="circle circle2"><img src="./img/QQ图片20221114190057.jpg" alt=""></div><div class="circle circle3"><img src="./img/QQ图片20221114190053.jpg" alt=""></div><div class="circle circle4"><img src="./img/QQ图片20221114190048.jpg" alt=""></div><div class="circle circle5"><img src="./img/QQ图片20221114190044.jpg" alt=""></div><div class="circle circle6"><img src="./img/QQ图片20221114190038.jpg" alt=""></div><div class="circle circle7"><img src="./img/QQ图片20221114190014.jpg" alt=""></div><div class="circle circle8"><img src="./img/QQ图片20221114190008.jpg" alt=""></div><div class="circle circle9"><img src="./img/QQ图片20221114190002.jpg" alt=""></div><div class="circle circle10"><img src="./img/QQ图片20221114185953.jpg" alt=""></div></div></div></body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/44721.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实战教程:如何利用Optimizer优化你的Windows系统?

前言 你是否厌倦了系统臃肿、隐私泄露的烦恼&#xff1f;小江湖今天就要带你走进一个全新的世界&#xff0c;一个能够让你重获自由与安心的神奇之地——Optimizer&#xff0c;一款专为Windows用户打造的深度优化神器&#xff1b;有了它你仅需轻轻一点&#xff0c;再也不用为系…

p13 数组

数组的创建 数组是一组相同类型元素的集合。数组的创建方式&#xff1a; type_t arr_name [const_n]; //type_t 是指数组的元素类型 //const_n 是一个常量表达式&#xff0c;用来指定数组的大小 int main() {//创建一个数字组-存放整型-10个int arr[10]{1,2,3}//不完全初始…

TensorFlow系列:第四讲:MobileNetV2实战

一. 加载数据集 编写工具类&#xff0c;实现数据集的加载 import keras""" 加载数据集工具类 """class DatasetLoader:def __init__(self, path_url, image_size(224, 224), batch_size32, class_modecategorical):self.path_url path_urlself…

物联网系统中市电电量计量方案(一)

为什么要进行电量计量&#xff1f; 节约资源&#xff1a;电量计量可以帮助人们控制用电量&#xff0c;从而达到节约资源的目的。在当前严峻的资源供应形势下&#xff0c;节约能源是我们应该重视的问题。合理计费&#xff1a;电表可以帮助公共事业单位进行合理计费&#xff0c;…

32. 小批量梯度下降法(Mini-batch Gradient Descent)

在深度学习模型的训练过程中&#xff0c;梯度下降法是最常用的优化算法之一。我们前面介绍了批量梯度下降法&#xff08;Batch Gradient Descent&#xff09;和随机梯度下降法&#xff08;Stochastic Gradient Descent&#xff09;&#xff0c;两者各有优缺点。为了在计算速度和…

QT跨平台开发(windows、mac)中.pro文件设置

方法一&#xff1a; 在配置前面加上平台标识符的前缀 # windows win32:INCLUDEPATH F:/Dev/ffmpeg-4.3.2/include win32:LIBS -LF:/Dev/ffmpeg-4.3.2/lib \-lavcodec \-lavdevice \-lavfilter \-lavformat \-lavutil \-lpostproc \-lswscale \-lswresample# mac macx:INCLUD…

预期功能的必要性与典型案例解析——MUNIK

前言 随着汽车行业的不断发展&#xff0c;人们已经不再满足车辆仅仅作为提高出行效率的简单工具&#xff0c;希望能有有更“聪明的车辆”帮用户解决一部分驾驶带来的困扰。因此&#xff0c;车企们不断探索自动驾驶能够带给人们哪些更便利的解决方案。在这个过程中不可避免地将…

3.相机标定原理及代码实现(opencv)

1.相机标定原理 相机参数的确定过程就叫做相机标定。 1.1 四大坐标系及关系 &#xff08;1&#xff09;像素坐标系&#xff08;单位&#xff1a;像素&#xff08;pixel&#xff09;&#xff09; 像素坐标系是指相机拍到的图片的坐标系&#xff0c;以图片的左上角为坐标原点&a…

为校园后勤注入智慧:收件登记功能驱动全新体验

在智慧校园的后勤管理体系中&#xff0c;收件登记服务是一项旨在提升快递接收体验的创新举措&#xff0c;它无缝融合了现代科技与日常校园生活&#xff0c;为师生带来便捷与安心。 为应对日益增长的快递需求&#xff0c;师生可事先通过校园网平台或特制的移动应用预报快递信息&…

《Linux与Windows文件系统的区别》

Linux与Windows文件系统的区别 在计算机操作系统领域&#xff0c;Linux和Windows是两种广泛使用的操作系统&#xff0c;它们在文件系统方面有许多显著的差异。这篇博客将详细介绍这两种操作系统文件系统的区别&#xff0c;帮助读者更好地理解它们各自的特点和优势。 类别Linu…

光学传感器图像处理流程(二)

光学传感器图像处理流程&#xff08;二&#xff09; 2.4. 图像增强2.4.1. 彩色合成2.4.2 直方图变换2.4.3. 密度分割2.4.4. 图像间运算2.4.5. 邻域增强2.4.6. 主成分分析2.4.7. 图像融合 2.5. 裁剪与镶嵌2.5.1. 图像裁剪2.5.2. 图像镶嵌 2.6. 遥感信息提取2.6.1. 目视解译2.6.2…

数字化时代的供应链管理综合解决方案

目录 引言背景与意义供应链管理综合解决方案的目标 &#x1f4c4;供应链管理系统主要功能系统优势 &#x1f4c4;物流管理系统主要功能系统优势 &#x1f4c4;订单管理系统主要功能应用场景 &#x1f4c4;仓储管理系统系统亮点主要功能系统优势 &#x1f4c4;商城管理系统主要功…

如何安全使用代理ip

1、选择可靠的代理服务提供商&#xff1a;选择知名的、信誉良好的代理服务提供商&#xff0c;避免使用免费的代理服务&#xff0c;因为免费的代理服务可能存在安全隐患。 2、使用HTTPS代理&#xff1a;使用HTTPS代理可以加密你的网络流量&#xff0c;保护你的隐私和安全。 3、…

【python】QWidget父子关系,控件显示优先级原理剖析与应用实战演练

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

socks4 socks4a socks5 socks5h的区别

1、socks4 socks4a socks5 socks5h的区别 代理设置区别curl https://www.google.com -x 127.0.0.1:1080等于http://127.0.0.1:1080curl https://www.google.com -x http://127.0.0.1:1080http代理&#xff0c;代理端服务器完成 DNS 解析curl https://www.google.com -x https:…

又是三道简单的web题(2)

一、cookie 1.打开后是如下页面&#xff0c;抓包&#xff0c;关注cookie 2.发现cookie中有一个文件 3.直接访问这个文件&#xff0c;得到flag 二、employeeswork 打开后页面如下&#xff1a; 点击后出现一串php代码 审一下这个代码&#xff0c;需要添加参数work并且赋值work…

Linux笔记之使用系统调用sendfile高速拷贝文件

Linux笔记之使用系统调用sendfile高速拷贝文件 code review! 文章目录 Linux笔记之使用系统调用sendfile高速拷贝文件sendfile 性能优势sendfile 系统调用优点&#xff1a;缺点&#xff1a; cp 命令优点&#xff1a;缺点&#xff1a; 实际测试&#xff1a;拷贝5.8个G的文件&a…

【Vue3】export, import, export default

export对外输出&#xff1a; export var name "mike"; //导出多个变量 export {name1, name2}import导入&#xff1a; import {name} from "/.a.js" //引入多个变量 import {name1, name2} from "/.a.js"export default为模块指定默认输出&am…

合合信息大模型加速器亮相WAIC大会:文档解析与文本识别新突破

合合信息大模型加速器亮相WAIC大会&#xff1a;文档解析与文本识别新突破 文章目录 合合信息大模型加速器亮相WAIC大会&#xff1a;文档解析与文本识别新突破前言合合信息TextIn平台&#xff1a;智能文档处理的领军者文档解析引擎&#xff1a;百页文档秒级处理大模型的发展背景…

vue vite自动化路由 无需手动配置

vue vite自动化路由 测试某些功能或者框架以及库的时候 需要创建新vue页面 没次都有手动配置 仅仅测试 细化的话根据自己需求配置权限 这里方便点 直接把router文件删掉 直接在main.js 引入所有路由注册 这样 每次在views下创建一个vue文件 直接访即可 不用手动注册了 main.js …