3D立体相册不过是冷锋蓝plus版 html+css

article/2025/8/23 19:52:38

一.话不多,先看效果:

    转念一想,好像很久很久没出css特效的文章了,特别是工作之后,更少了。偶然翻看电脑内存的时候,发现这个自己1年多以前写的特效,甚美,又勾起我一段尘封的回忆。。。我原来也发过3D立体相册特效的,对于基础理念可以看那篇,看完再回来看这篇plus版。实现并不难,如下。
3D立体相册 html+css 的基础版。

效果:
在这里插入图片描述

二.具体实现:

  1. 定义div标签:
 <audio src="img/123.mp3" loop autoplay></audio><video class="bg" src="img/11.mp4" autoplay loop muted></video><div class="container"><div class="little"><img src="img/1.jpg" alt="x" /><img src="img/2.jpg" alt="x" /><img src="img/3.jpg" alt="x" /><img src="img/4.jpg" alt="x" /><img src="img/5.jpg" alt="x" /><img src="img/6.jpg" alt="x" /></div><div class="large"><img class="lar1" src="img/1.jpg" alt="x" /><img class="lar2" src="img/2.jpg" alt="x" /><img class="lar3" src="img/3.jpg" alt="x" /><img class="lar4" src="img/4.jpg" alt="x" /><img class="lar5" src="img/5.jpg" alt="x" /><img class="lar6" src="img/6.jpg" alt="x" /></div></div>

其中同级目录img文件夹准备6张图片。audio与video可要可不要,加个背景音乐或背景视频更有情调~

  1. 定义基本布局css:
 * {margin: 0;padding: 0;box-sizing: border-box;}body {height: 100vh;display: flex;justify-content: center;align-items: center;}.bg {position: fixed;top: 0;left: 0;width: 100%;height: 100%;object-fit: cover;}.container {position: relative;width: 100px;height: 100px;perspective: 1000px;transform-style: preserve-3d;}
  1. 里层图片盒子css:
 .little {position: absolute;width: 100%;height: 100%;transform-style: preserve-3d;transform: rotateX(12deg) rotateY(-28deg);animation: turn 6s linear infinite;}@keyframes turn {100% {transform: rotateX(12deg) rotateY(-388deg);}}.little img {position: absolute;width: 100%;height: 100%;object-fit: cover;}.little img:nth-child(1) {transform: translateZ(50px);}.little img:nth-child(2) {transform: rotateY(180deg) translateZ(50px);}.little img:nth-child(3) {transform: rotateY(-90deg) translateZ(50px);}.little img:nth-child(4) {transform: rotateY(90deg) translateZ(50px);}.little img:nth-child(5) {transform: rotateX(90deg) translateZ(50px);}.little img:nth-child(6) {transform: rotateX(90deg) translateZ(-50px);}

4.外层图片css:

  .large {position: absolute;top: -50px;left: -50px;width: 200px;height: 200px;transform-style: preserve-3d;transform: rotateX(12deg) rotateY(-28deg);animation: turn2 6s linear infinite;}@keyframes turn2 {100% {transform: rotateX(12deg) rotateY(-388deg);}}.large img {position: absolute;top: 0;left: 0;width: 100%;height: 100%;object-fit: cover;opacity: 0.2;border: 0.1px solid white;transition: all 1s;}.large img:nth-child(1) {transform: translateZ(100px);}.large img:nth-child(2) {transform: rotateY(180deg) translateZ(100px);}.large img:nth-child(3) {transform: rotateY(-90deg) translateZ(100px);}.large img:nth-child(4) {transform: rotateY(90deg) translateZ(100px);}.large img:nth-child(5) {transform: rotateX(90deg) translateZ(100px);}.large img:nth-child(6) {transform: rotateX(90deg) translateZ(-100px);}
  1. 鼠标移入触碰css:
  .container:hover .lar1 {left: -90px;top: -90px;width: 380px;height: 380px;opacity: 1;transform: translateZ(250px);}.container:hover .lar2 {left: -90px;top: -90px;width: 380px;height: 380px;opacity: 1;transform: rotateY(180deg) translateZ(250px);}.container:hover .lar3 {left: -90px;top: -90px;width: 380px;height: 380px;opacity: 1;transform: rotateY(-90deg) translateZ(250px);}.container:hover .lar4 {left: -90px;top: -90px;width: 380px;height: 380px;opacity: 1;transform: rotateY(90deg) translateZ(250px);}.container:hover .lar5 {left: -90px;top: -90px;width: 380px;height: 380px;opacity: 1;transform: rotateX(90deg) translateZ(250px);}.container:hover .lar6 {left: -90px;top: -90px;width: 380px;height: 380px;opacity: 1;transform: rotateX(90deg) translateZ(-250px);}

三.完整代码:

<!--* @Author: your name* @Date: 2021-04-16 19:45:54* @LastEditTime: 2021-04-17 00:12:02* @LastEditors: Please set LastEditors* @Description: In User Settings Edit* @FilePath: \undefinedd:\练习\立方体相册\index.html
-->
<!DOCTYPE html>
<html lang="zh-CN"><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>Document</title><style>* {margin: 0;padding: 0;box-sizing: border-box;}body {height: 100vh;display: flex;justify-content: center;align-items: center;}.bg {position: fixed;top: 0;left: 0;width: 100%;height: 100%;object-fit: cover;}.container {position: relative;width: 100px;height: 100px;perspective: 1000px;transform-style: preserve-3d;}.little {position: absolute;width: 100%;height: 100%;transform-style: preserve-3d;transform: rotateX(12deg) rotateY(-28deg);animation: turn 6s linear infinite;}@keyframes turn {100% {transform: rotateX(12deg) rotateY(-388deg);}}.little img {position: absolute;width: 100%;height: 100%;object-fit: cover;}.little img:nth-child(1) {transform: translateZ(50px);}.little img:nth-child(2) {transform: rotateY(180deg) translateZ(50px);}.little img:nth-child(3) {transform: rotateY(-90deg) translateZ(50px);}.little img:nth-child(4) {transform: rotateY(90deg) translateZ(50px);}.little img:nth-child(5) {transform: rotateX(90deg) translateZ(50px);}.little img:nth-child(6) {transform: rotateX(90deg) translateZ(-50px);}.large {position: absolute;top: -50px;left: -50px;width: 200px;height: 200px;transform-style: preserve-3d;transform: rotateX(12deg) rotateY(-28deg);animation: turn2 6s linear infinite;}@keyframes turn2 {100% {transform: rotateX(12deg) rotateY(-388deg);}}.large img {position: absolute;top: 0;left: 0;width: 100%;height: 100%;object-fit: cover;opacity: 0.2;border: 0.1px solid white;transition: all 1s;}.large img:nth-child(1) {transform: translateZ(100px);}.large img:nth-child(2) {transform: rotateY(180deg) translateZ(100px);}.large img:nth-child(3) {transform: rotateY(-90deg) translateZ(100px);}.large img:nth-child(4) {transform: rotateY(90deg) translateZ(100px);}.large img:nth-child(5) {transform: rotateX(90deg) translateZ(100px);}.large img:nth-child(6) {transform: rotateX(90deg) translateZ(-100px);}.container:hover .lar1 {left: -90px;top: -90px;width: 380px;height: 380px;opacity: 1;transform: translateZ(250px);}.container:hover .lar2 {left: -90px;top: -90px;width: 380px;height: 380px;opacity: 1;transform: rotateY(180deg) translateZ(250px);}.container:hover .lar3 {left: -90px;top: -90px;width: 380px;height: 380px;opacity: 1;transform: rotateY(-90deg) translateZ(250px);}.container:hover .lar4 {left: -90px;top: -90px;width: 380px;height: 380px;opacity: 1;transform: rotateY(90deg) translateZ(250px);}.container:hover .lar5 {left: -90px;top: -90px;width: 380px;height: 380px;opacity: 1;transform: rotateX(90deg) translateZ(250px);}.container:hover .lar6 {left: -90px;top: -90px;width: 380px;height: 380px;opacity: 1;transform: rotateX(90deg) translateZ(-250px);}</style></head><body><audio src="img/123.mp3" loop autoplay></audio><video class="bg" src="img/11.mp4" autoplay loop muted></video><div class="container"><div class="little"><img src="img/1.jpg" alt="x" /><img src="img/2.jpg" alt="x" /><img src="img/3.jpg" alt="x" /><img src="img/4.jpg" alt="x" /><img src="img/5.jpg" alt="x" /><img src="img/6.jpg" alt="x" /></div><div class="large"><img class="lar1" src="img/1.jpg" alt="x" /><img class="lar2" src="img/2.jpg" alt="x" /><img class="lar3" src="img/3.jpg" alt="x" /><img class="lar4" src="img/4.jpg" alt="x" /><img class="lar5" src="img/5.jpg" alt="x" /><img class="lar6" src="img/6.jpg" alt="x" /></div></div></body>
</html>

结语:

“逝者如斯夫,不舍昼夜。” 人生世事变化之快。不知疫情何时才能结束。

我的哔哩哔哩空间
Gitee仓库地址:全部特效源码
其它文章:
~关注我看更多简单创意特效:
文字烟雾效果 html+css+js
环绕倒影加载特效 html+css
气泡浮动背景特效 html+css
简约时钟特效 html+css+js
赛博朋克风格按钮 html+css
仿网易云官网轮播图 html+css+js
水波加载动画 html+css
导航栏滚动渐变效果 html+css+js
书本翻页 html+css
3D立体相册 html+css
霓虹灯绘画板效果 html+css+js
记一些css属性总结(一)
Sass总结笔记
…等等
进我主页看更多~


http://chatgpt.dhexx.cn/article/oIUDopHT.shtml

相关文章

创意相册、3D立体相册

3D表白相册 精美的3D动态相册&#xff0c;快去做给她吧&#xff01; 点我下载 换的图片格式要一样&#xff0c;实在不一样就去代码里面改后缀名 https://download.csdn.net/download/weixin_43474701/60386577

3D立体相册,一个可旋转的立体相册

11359.gif 主要功能&#xff1a;立体球体展示 可自行添加本地照片 可旋转&#xff0c;照片可放大 商城下载&#xff1a; App Store github下载 用的代码是用的云标签的code&#xff0c;代码略有改动 主要代码调用 // 调用展示 self.sphereView [[YoungSphere alloc] initWithF…

还在买鲜花送女神?手把手教你搭建3D立体相册网站,包女神稀饭

是不是一款人见人爱的相册网站&#xff0c;看下图演示马上知晓。360度3D立体旋转&#xff0c;随意放大缩小任一张照片&#xff0c;合适每一个女生的小胃口&#xff0c;保证女神眼前一亮&#xff0c;对您刮目相看。 我们的特点是——情人节圣诞节女神生日纪念日都适合当礼物&am…

css3 3D立体相册实现

这几天无聊&#xff0c;看到有博主弄的电子相册有点意思&#xff0c;就照葫芦画瓢也实现了一个&#xff0c;一个半透明的正方体包含着一个小正方体&#xff0c;相册自动旋转&#xff0c;当获得焦点时变化效果&#xff0c;截图如下&#xff1a; 一&#xff0c;代码目录结构 二&a…

3D立体相册 html+css

前言 用css的transform属性做一个3D相册~~~ 值translate表示偏移&#xff1b; scale表示缩放&#xff1b; rotate就是转动。 一、先看效果 二、实现步骤 1.我们知道一个正方体有6个面&#xff0c;所以定义一个父亲元素然后定义6个子元素作为6个面。每个面放一张图片。里面q1…

搭载3D立体相册网页 加入背景音乐 真香!

一、3D立体相册 HTML代码 <!DOCTYPE html> <html lang="en"><head><meta

七夕表白程序:3D 立体表白相册(素材+源码),用它的都成功了!

马上就要七夕了&#xff0c;学编程的你没有什么拿得出手的礼物吗&#xff1f;不如用我们所学知识来做个简单的 3D 立体表白相册吧&#xff01;&#xff08;特效绝对杠杠的&#xff09; 希望大家&#xff08;以及大家的那一位&#xff09;喜欢! 效果截图如下&#xff1a;&…

抖音上很火的3D立体动态相册

带背景音乐网站效果: http://www.fengzhao.icu/photos/html/%E6%8A%96%E9%9F%B3%E4%B8%8A%E5%BE%88%E7%81%AB%E7%9A%843D%E7%AB%8B%E4%BD%93%E5%8A%A8%E6%80%81%E7%9B%B8%E5%86%8C.html 如何创建网站:参考我的这篇文章 https://blog.csdn.net/allen_csdns/article/details…

【Python入门】Python做游戏——跳跃小鸟

如何运行 安装依赖pip install keras pip install pygame pip install scikit-image pip install h5py作者使用的是theano训练的,训练好的模型文件要使用theano作为Keras的后端才能调用,在配置文件~/.keras/keras.json中(没有可创建)确认/修改backend为theano(如果没有安装…

教你用Python做小游戏

第一步&#xff1a;你好&#xff0c;兔子 运行IDLE&#xff0c;打开一个新的文本编辑窗口。输入以下的代码&#xff1a; # 1 - Import library import pygame from pygame.locals import *# 2 - Initialize the game pygame.init() width, height 640, 480 screenpygame.dis…

怎么用python做游戏_如何用python做游戏

你有没有想过电脑游戏是怎样制作出来的&#xff1f;其实它没有你想象的那样复杂&#xff01; PyGame是一个Python的库&#xff0c;能够让你更容易的写出一个游戏。它提供的功能包括图片处理和声音重放的功能&#xff0c;并且它们能很容易的整合进你的游戏里。去官网点击这里下载…

为了上班摸鱼我用Python制作十五个小游戏,普通到地狱级难度,看看你能挑战到哪【内附源码】

今天给大家带来十五个Python小游戏&#xff0c;找回童年的同时学习编程还可以摸鱼&#xff0c;源码附上结尾领取。 一、接金币&#xff08;1分&#xff09; 普通难度&#xff1a;❤ 玩法介绍&#xff1a; 吃金币&#xff0c;控制左右键&#xff0c;有手就行。 ​ 源码分享…

用python做一个简单的游戏,用python写一个小游戏

大家好&#xff0c;本文将围绕如何用python做一个简单的小游戏展开说明&#xff0c;python编写的入门简单小游戏是一个很多人都想弄明白的事情&#xff0c;想搞清楚用python做一个简单的游戏需要先了解以下几个事情。 1、Python游戏开发&#xff0c;Python实现贪吃蛇小游戏与吃…

用 Python 做游戏有多简单

大家好&#xff0c;今天我用两篇文章来介绍一下&#xff0c;如果使用 Python 做游戏。 这个游戏是使用 PyGame 做的&#xff0c;贴图素材是从 itch.io[1] 找的。我之前也没有用过 PyGame&#xff0c;这次属于是现学现用&#xff0c;参考的教程是 PyGame: A Primer on Game Prog…

Python做游戏其实很简单,只是你觉得难...

很多小伙伴都喜欢小游戏源码&#xff0c;想学一手Python做小游戏&#xff0c;问我做游戏难不难&#xff0c;要怎么做&#xff0c;接下来我就介绍一下&#xff0c;如何用Python做游戏。 游戏演示 2048小游戏 表白弹窗 贪吃蛇 五子棋 俄罗斯方块 超多小游戏&#xff0c;让你一个…

Python不能做游戏?一小时做出一个游戏!

嗨喽&#xff5e;小伙伴们&#xff0c;我又来了&#xff0c; 写在前面的话&#xff1a; 【 一直都听他们说&#xff0c;python做不出好的游戏&#xff0c;个人是不赞同的&#xff0c;我只能说&#xff0c;python可以用来写游戏&#xff0c;但不适合。 举个最简单的例子&…

【含源码】用python做游戏有多简单好玩

有很多同学问我还有其他什么小游戏吗&#xff0c;游戏是怎么做的&#xff0c;难不难。我就用两篇文章来介绍一下&#xff0c;如何使用Python做游戏。 兔子与灌 俄罗斯方块 休闲五子棋 走迷宫 推箱子 消消乐 超多小游戏玩转不停↓ 更多小游戏可以评论区讨论哦&#xff0c;喜欢…

python做小游戏之一小迷宫游戏

趣味python一迷宫小游戏 读取外部迷宫地图 既然是编写小游戏&#xff0c;那么自然少不了pygame模块&#xff0c;编译环境使用的是pycharm。 迷宫小游戏设计思想是&#xff0c;我们自己绘制迷宫地图文档&#xff0c;然后程序根据我们设计的地图把迷宫绘制到pygame游戏界面当中来…

一日一技:用Python做游戏有多简单 (2)

现在用Python来制作游戏越来越方便&#xff0c;虽然某些方面有所限制。但是利用Pygame工具包基本能制作所有的2D游戏在制作的同时对游戏的理解也会更加深刻&#xff0c;因为本质上都是对图片的定位和图片碰撞的判断&#xff0c;从而以此为原理衍生出各种各样的游戏类型。 接下…

一日一技:用Python做游戏有多简单

自从表白代码发了以后&#xff0c;有很多同学问我除了这种表白的&#xff0c;还有其他什么小游戏吗&#xff0c;游戏是怎么做的&#xff0c;难不难。我就用两篇文章来介绍一下&#xff0c;如果使用Python做游戏。 兔子与灌 俄罗斯方块 休闲五子棋 走迷宫 推箱子 消消乐 超多小…