使用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.hqwc.cn/news/126745.html

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

相关文章

专业图像处理软件DxO PhotoLab 7 mac中文特点和功能

DxO PhotoLab 7 mac是一款专业的图像处理软件&#xff0c;它为摄影师和摄影爱好者提供了强大而全面的照片处理和编辑功能。 DxO PhotoLab 7 mac软件特点和功能 强大的RAW和JPEG格式处理能力&#xff1a;DxO PhotoLab 7可以处理来自各种相机的RAW格式图像&#xff0c;包括佳能、…

SpringBatch适配不同数据库的两种方法

一、配置JobRepository Configuration EnableBatchProcessing public class TaskArrangeConfig extends DefaultBatchConfigurer {Autowiredprivate DataSource dataSource;Autowiredprivate JobLauncher jobLauncher;Autowiredprivate JobExplorer jobExplorer;Autowiredpriv…

计算机毕设 大数据工作岗位数据分析与可视化 - python flask

文章目录 0 前言1 课题背景2 实现效果3 项目实现3.1 概括 3.2 Flask实现3.3 HTML页面交互及Jinja2 4 **完整代码**5 最后 0 前言 &#x1f525; 这两年开始毕业设计和毕业答辩的要求和难度不断提升&#xff0c;传统的毕设题目缺少创新和亮点&#xff0c;往往达不到毕业答辩的要…

沈阳陪诊系统|沈阳陪诊系统开发|沈阳陪诊系统功能和优势

在现代医疗服务中&#xff0c;陪诊系统服务正变得越来越重要。这项创新的服务提供了一种全新的方式&#xff0c;帮助患者在医院就诊时获得更好的照顾和支持。无论是面对复杂的医学流程还是需要心理支持&#xff0c;陪诊系统服务都能够为患者提供方便、专业的帮助。陪诊系统服务…

python+pygame+opencv+gpt实现虚拟数字人直播(一)

AI技术突飞猛进&#xff0c;不断的改变着人们的工作和生活。数字人直播作为新兴形式&#xff0c;必将成为未来趋势&#xff0c;具有巨大的、广阔的、惊人的市场前景。它将不断融合创新技术和跨界合作&#xff0c;提供更具个性化和多样化的互动体验&#xff0c;成为未来的一种趋…

leetCode 53.最大子数和 图解 + 贪心算法/动态规划+优化

53. 最大子数组和 - 力扣&#xff08;LeetCode&#xff09; 给你一个整数数组 nums &#xff0c;请你找出一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#xff09;&#xff0c;返回其最大和。 子数组 是数组中的一个连续部分。 示例 1&#xff1a; 输入…

Android Camera FW 里的requestId和frameId

安卓相机frameworks里面经常出现requestId和frameId&#xff0c;最近简单看了一下代码&#xff0c;发现相关流程还是很复杂的&#xff0c;总结来看requestId 就是上层&#xff08;java&#xff09;发送的repeating(capture)请求的id&#xff0c;是从0开始递增的。 这是CameraD…

Godot 官方2D游戏笔记(1):导入动画资源和添加节点

前言 Godot 官方给了我们2D游戏和3D游戏的案例&#xff0c;不过如果是独立开发者只用考虑2D游戏就可以了&#xff0c;因为2D游戏纯粹&#xff0c;我们只需要关注游戏的玩法即可。2D游戏的美术素材简单&#xff0c;交互逻辑简单&#xff0c;我们可以把更多的时间放在游戏的玩法…

Transformer学习

这里写目录标题 Seq2Seq语音翻译为何不直接用语音辨识机器翻译&#xff1f;语法分析文章归类问题目标检测 TransformerEncoder结构multi-head attention block为何batch-norm 不如 layer-norm&#xff1f; Decoder结构decoder流程decoder结构decoder比encoder多了一个masked se…

数据结构--排序(2)

前言 排序&#xff08;1&#xff09;链接入口 快速排序 链接入口 归并排序 思想&#xff1a;将数组利用递归形式一直对半平分&#xff0c;将一组完整的数组分成若干份&#xff0c; 接着将它们相邻两个分为一组&#xff0c;进行排序&#xff0c;排序之后组合成一组&#xff0…

格雷希尔针对汽车空调高压管异型管口快速密封的G72R高压连接器

汽车散热是汽车热管理的重要部件&#xff0c;不管是燃油车还是新能源车&#xff0c;散热都是必不可少的零部件&#xff0c;从散热水箱、到车用空调冷凝器、蒸发器、空调高压管件等&#xff0c;由于位置和固定方式等影响&#xff0c;虽然管件直径比较标准&#xff0c;但接口部分…

基于Springboot实现旧物置换网站平台演示【项目源码+论文说明】分享

基于Springboot实现旧物置换网站平台演示 摘要 随着时代在一步一步在进步&#xff0c;旧物也成人们的烦恼&#xff0c;许多平台网站都在推广自已的产品像天猫、咸鱼、京东。所以开发出一套关于旧物置换网站成为必需。旧物置换网站主要是借助计算机&#xff0c;通过对用户进行管…