使用css制作3D盒子,目的是把盒子并列制作成3D货架

注意事项:这个正方体的其他面的角度很难调,因此如果想动态生成,需要很复杂的设置动态的角度,反正我是折腾了半天没继续搞下去,

1. 首先看效果(第一个五颜六色的是透明多个面,第2-3都是只有3个面是我实际需要的,右边的有3个并列的正方体与3个并列的长方体):

长方体与正方体,所有代码:

<!DOCTYPE html>
<html lang="zh-CH">
<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>body {width: 100%;height: 100%;}.box {float: left;    margin: 5%;  /*只是把两个div放一行,并相隔开*/width: 200px;height: 200px;background-color: skyblue;/* 在父元素中添加transform-style启用3d空间 */transform-style: preserve-3d;/* 在父元素中添加透视效果 *//* perspective: 200px; */transform: rotateX(353deg) rotateY(45deg);}.item {position: absolute;top: 0;left: 0;width: 100%;height: 100%;}.top {background-color: rgba(255, 0, 0, 0.4);transform: rotateX(90deg) translateZ(100px);}.bottom {background-color: rgba(0, 255, 0, 0.4);transform: rotateX(-90deg) translateZ(100px);}.front {background-color: rgba(100, 100, 100, 0.4);transform: rotateY(0deg) translateZ(100px);}.back {background-color: rgba(100, 100, 100, 0.4);transform: rotateY(-180deg) translateZ(100px);}.left {background-color: rgb(54 72 211 / 78%);transform: rotateY(-90deg) translateZ(100px);}.right {background-color: rgba(255, 255, 0, 0.4);transform: rotateY(90deg) translateZ(100px);}.top2 {background-color: #081b61;transform: rotateX(90deg) translateZ(100px) rotatez(58deg); }.left2 {background-color: #2949bf; transform: rotateY(303deg) translateZ(100px);}.right2 { background-color: #949aad; transform: rotateY(33deg) translateZ(100px); }.box1 {float: left;margin: 5px;width: 50px;height: 50px;transform-style: preserve-3d;transform: rotateX(353deg) rotateY(45deg);}/*小正方体*/.top3 {background-color: #4b598d;transform: rotateX(90deg) translateZ(23px) rotatez(154deg) rotatey(2deg);}.left3 {background-color: #2949bf;transform: rotateY(304deg) translateZ(30px);}.right3 {background-color: #5f71a9;transform: rotateY(23deg) translateZ(27px);}</style>
</head>
<body><div class="box">父元素<div class="item top">top</div><div class="item bottom">bottom</div><div class="item front">front</div><div class="item back">back</div><div class="item left">left</div><div class="item right">right</div></div><div class="box">父元素<div class="item top2"></div><div class="item left2"></div><div class="item right2"></div></div><div class="box">父元素<div class="item" style="background-color: #081b61;transform: rotateX(90deg) translateZ(100px) rotatez(49deg);"></div><div class="item" style="background-color: #2949bf; transform: rotateY(311deg) translateZ(100px);"></div><div class="item" style="background-color: #949aad;transform: rotateY(40deg) translateZ(100px);"></div></div><div><div style="float: left; margin: 5px; width: 50px; height: 50px; transform-style: preserve-3d;transform: rotateX(353deg) rotateY(45deg);">  <div class="item top3"></div><div class="item left3"></div><div class="item right3"></div></div><div class="box1">   <div class="item top3"></div><div class="item left3"></div><div class="item right3"></div></div><div class="box1"><div class="item top3"></div><div class="item left3"></div><div class="item right3"></div></div></div>
<br><br><br><div><div style="width:80px;float: left; margin: 5px;height: 50px; transform-style: preserve-3d;transform: rotateX(353deg) rotateY(45deg);">  <div class="item" style="background-color: #414349;transform:rotateX(94deg) translateZ(26px)  translatex(8px) translatey(18px) rotatez(81deg) rotatey(0deg)"></div><div class="item" style="background-color: #5275f5;transform:rotateY(313deg) translateZ(2px)"></div><div class="item" style="background-color: #2e4495;transform:rotateY(26deg) rotateZ(4deg) translateZ(55px) translateY(-4px)"></div></div><div style="width:80px;float: left; margin: 5px;  height: 50px; transform-style: preserve-3d;transform: rotateX(353deg) rotateY(45deg);">  <div class="item" style="background-color: #414349;transform:rotateX(94deg) translateZ(26px)  translatex(8px) translatey(18px) rotatez(81deg) rotatey(0deg)"></div><div class="item" style="background-color: #5275f5;transform:rotateY(313deg) translateZ(2px)"></div><div class="item" style="background-color: #2e4495;transform:rotateY(26deg) rotateZ(4deg) translateZ(55px) translateY(-4px)"></div></div> <div style="width:80px;float: left; margin: 5px; height: 50px; transform-style: preserve-3d;transform: rotateX(353deg) rotateY(45deg);">  <div class="item" style="background-color: #414349;transform:rotateX(94deg) translateZ(26px)  translatex(8px) translatey(18px) rotatez(81deg) rotatey(0deg)"></div><div class="item" style="background-color: #5275f5;transform:rotateY(313deg) translateZ(2px)"></div><div class="item" style="background-color: #2e4495;transform:rotateY(26deg) rotateZ(4deg) translateZ(55px) translateY(-4px)"></div></div></div> 
</body>
</html>

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

PageRank(下):数据分析 | 数据挖掘 | 十大算法之一

⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ &#x1f434;作者&#xff1a;秋无之地 &#x1f434;简介&#xff1a;CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作&#xff0c;主要擅长领域有&#xff1a;爬虫、后端、大数据…

云服务器CVM_云主机_云计算服务器_弹性云服务器-腾讯云

腾讯云服务器CVM提供安全可靠的弹性计算服务&#xff0c;腾讯云明星级云服务器&#xff0c;弹性计算实时扩展或缩减计算资源&#xff0c;支持包年包月、按量计费和竞价实例计费模式&#xff0c;CVM提供多种CPU、内存、硬盘和带宽可以灵活调整的实例规格&#xff0c;提供9个9的数…

linearlayout中使用多个weight导致部分子控件消失异常

问题描述&#xff1a; 在一个linearlayout中写了两个用到weight的布局&#xff0c;在androidstudio中显示正常 但是代码跑起来之后最下面哪一行都消失了&#xff1b; 解决办法1 把两个用到weight的改成一个了&#xff0c;外面那层的weight写成固定宽度就能正常显示出丢失的…

二叉树--翻转二叉树

文章前言&#xff1a;如果有小白同学还是对于二叉树不太清楚&#xff0c;作者推荐&#xff1a;二叉树的初步认识_加瓦不加班的博客-CSDN博客 给你一棵二叉树的根节点 root &#xff0c;翻转这棵二叉树&#xff0c;并返回其根节点。 如果思路不清楚&#xff0c;请看动态页面&am…

【Spring内容介绍 | 第一篇】什么是事务管理

前言&#xff1a; 当今软件开发行业中&#xff0c;事务管理是一个不可或缺的重要组成部分。随着企业应用的复杂性和数据交互的增加&#xff0c;确保数据的一致性和完整性变得越来越关键。Spring框架作为一种全功能的应用程序开发框架&#xff0c;为我们提供了强大而灵活的事务管…

【yolo系列:yolov7训练添加spd-conv】

系列文章目录 yolov7训练添加spd-conv 文章目录 系列文章目录一、spd-conv是什么&#xff1f;二、使用步骤1.第一步&#xff1a;先在models/common.py加上2.第二步&#xff1a;models/yolo.py加上2.第三步&#xff1a;修改yolov7的yaml文件 总结 提示&#xff1a;以下是本篇文…

Linux指令大全(文件和目录操作、文件内容查看和编辑、系统信息和管理、网络和通信、压缩和解压缩、权限管理、包管理……)

目录 前言 VMware 16.2.4Ubuntu18.04 Windows11安装WSL Linux指令大全 一、文件和目录操作指令 cd&#xff1a;切换当前目录 ls&#xff1a;列出目录内容 mkdir&#xff1a;创建新目录 rm&#xff1a;删除文件或目录 cp&#xff1a;复制文件或目录 mv&#xff1a;移…

java 将字符串转为Base64格式与将Base64内容解析出来

首先要引入依赖包 import java.nio.charset.StandardCharsets; import java.util.Base64;然后对应一下两个代码 将字符串转为Base64 Base64.getEncoder().encodeToString(需要转换的字符串.getBytes(StandardCharsets.UTF_8));将 Base64 字符串解析成原来的内容 byte[] deco…

SpringBoot详解

文章目录 1. Xml 和 JavaConfig1.1 什么是 JavaConfig1.2 JavaConfig 配置容器1.3 ImportResource1.4 PropertyResource 2. 注解SpringBootApplication3.Spring Boot 核心配置文件3.1 yaml格式3.2 .yml 文件3.3 多环境配置3.4 Spring Boot 自定义配置3.4.1 Value 注解 3.5 注解…

基于知识蒸馏的两阶段去雨去雪去雾模型学习记录(三)之知识测试阶段与评估模块

去雨去雾去雪算法分为两个阶段&#xff0c;分别是知识收集阶段与知识测试阶段&#xff0c;前面我们已经学习了知识收集阶段&#xff0c;了解到知识阶段的特征迁移模块&#xff08;CKT)与软损失&#xff08;SCRLoss&#xff09;,那么在知识收集阶段的主要重点便是HCRLoss(硬损失…

css--踩坑

1. 子元素的宽高不生效问题 设置flex布局后&#xff0c;子元素的宽高不生效问题。 如果希望子元素的宽高生效&#xff0c;解决方法&#xff0c;给子元素添加如下属性&#xff1a; flex-shrink: 0; flex-shrink: 0;2. 横向滚动&#xff08;子元素宽度不固定&#xff09; /* tab…

大数据软件项目的应用行业

大数据软件项目可以应用于各种不同的行业&#xff0c;以帮助组织更好地理解和利用其数据资产&#xff0c;从而做出更明智的决策、提高效率并推动创新。以下是一些主要行业&#xff0c;大数据软件项目可以发挥重要作用的示例&#xff0c;希望对大家有所帮助。北京木奇移动技术有…

0基础学习VR全景平台篇 第104篇:720全景后期软件安装

上课&#xff01;全体起立~ 大家好&#xff0c;欢迎观看蛙色官方系列全景摄影课程&#xff01; 摄影进入数码时代&#xff0c;后期软件继承“暗房工艺”&#xff0c;成为摄影师表达内在情感的必备工具。 首先说明&#xff0c;全景摄影与平面摄影的一个显著的区别是全景图片需…

【unity】制作一个角色的初始状态(左右跳二段跳)【2D横板动作游戏】

前言 hi~ 大家好&#xff01;欢迎大家来到我的全新unity学习记录系列。现在我想在2d横板游戏中&#xff0c;实现一个角色的初始状态-闲置状态、移动状态、空中状态。并且是利用状态机进行实现的。 本系列是跟着视频教程走的&#xff0c;所写也是作者个人的学习记录笔记。如有错…

C++转换函数

什么是转换函数? C转换函数是一种特殊的成员函数&#xff0c;用于将一个类的对象转换为另一个类型。它是通过在类中定义特定的函数来实现的。 转换函数的用途&#xff1a; 类型转换&#xff1a;转换函数可以将一个类的对象从一种类型转换为另一种类型。这样可以方便地在不同…

Elasticsearch安装访问

Elasticsearch 是一个开源的、基于 Lucene 的分布式搜索和分析引擎&#xff0c;设计用于云计算环境中&#xff0c;能够实现实时的、可扩展的搜索、分析和探索全文和结构化数据。它具有高度的可扩展性&#xff0c;可以在短时间内搜索和分析大量数据。 Elasticsearch 不仅仅是一个…

想要精通算法和SQL的成长之路 - 存在重复元素

想要精通算法和SQL的成长之路 - 存在重复元素 前言一. 存在重复元素II二. 存在重复元素III2.1 基于红黑树增删改查 前言 想要精通算法和SQL的成长之路 - 系列导航 一. 存在重复元素II 原题链接 思路&#xff1a; 我们用HashSet存储元素&#xff0c;做到去重的效果。同时存储…

智慧公厕:将科技融入日常生活的创新之举

智慧公厕是当今社会中一项备受关注的创新项目。通过将科技融入公厕设计和管理中&#xff0c;这些公厕不仅能够提供更便利、更卫生的使用体验&#xff0c;还能够极大地提升城市形象和居民生活质量。本文将以智慧公厕领先厂家广州中期科技有限公司&#xff0c;大量的精品案例项目…

VMware Horizon 8 运维系列(二)win10设置共享桌面图标

前言 在win10模板上用管理员帐号安装好软件之后&#xff0c;有的软件快捷图标不会出现在桌面上&#xff0c;有的即使有在桌面上出现&#xff0c;但是当发布云桌面池后&#xff0c;客户端登录的都是不同的域用户&#xff0c;当不同的用户登录系统的时候&#xff0c;很多软件快捷…

IPT2602协议-USB 快速充电端口控制器

产品描述&#xff1a; IPT2602是一款USB端口快速充电协议控制芯片。IPT2602智能识别多种快速充电协议&#xff0c;对手机等受电设备进行快速充电。IPT2602根据受电设备发送的电压请求能够精确的调整VBUS输出电压&#xff0c;从而实现快速充电。 IPT2602在调整5V输出电压前会自动…