好看的货架效果(含3D效果)

news2024/11/17 16:04:37

搭配thymeleaf + layui合成 

货架一

 1. css
#gudinghuojia2F .layui-row {  display: flex; justify-content: space-between; height: 100%;}
#gudinghuojia2F .layui-col-xs10 {margin-right: 4%;}
#gudinghuojia2F .layui-col-xs10:last-child {margin-right: 0;}
.inner-title{font-size: 26px;height: 28px;background-color: #b7b7b7; color: #fff;}
.inner-div {background: #82dcb3;}
.inner-div:not(:first-child) {border: 5px solid #494949;height: calc(80% / 4);}

2.html片段 
<div style="height: 100%;">
	<div class="layui-row" >
		<div class="layui-col-xs10" th:each="i : ${#numbers.sequence(10, 1, -1)}" >
			<div class="inner-title" th:text="${‘2F’ + '-' + i}" style="text-align: center;"></div>
				<div class="inner-div" th:each="ii : ${#numbers.sequence(4, 1, -1)}" th:id="${‘2F’ + '-' + i + '-1-'+ ii}"></div>
			</div>
		</div>
</div>
3.效果(效果只是图中的货架,上面部分只是截图效果贴上来的,代码并没有包含):

货架二 

1. css
    .layout_4F{height: 100%;width: 70%;display: block; position: relative;}
	  .tongdao {position: absolute;color: #ccd9d9c7;text-align: center; letter-spacing: 10vh; font-size: x-large;} /* 设置字之间的间隔为10vh,设置所有通道的背景为白色 */
	  .ltongdao{position: absolute;left: calc(6% + 10px);top: 14%;writing-mode: vertical-rl;letter-spacing: 12vh;font-size: xxx-large;color: #ccd9d9c7;}
	  .rtongdao{position: absolute;right: 17%;height: 60%;width: 5%;top: 15%;line-height: 300%;font-size: xxx-large;color: #ccd9d9c7;}
	  .container {position: relative;width: 100%; height: 100vh; background-color: #fff;}
	  .chu{position: absolute;height: 4%;line-height: 100%;background-color: #e7dfdf;letter-spacing: 10vh; font-size: 3vh;color: #75b9b9c7;}
	  .chu1{top: calc(12% + 6px);l}

    .btongdao{position: absolute;right: 40%;bottom: 20%;height: 8%;font-size: xx-large;letter-spacing: 10vh;color: #ccd9d9c7;}
    .wai{height: 6%;width: 100%;top: calc(6% + 10px);}

    .zhong{position: absolute; text-align: center; left: calc(12% + 6px); right: 27%;}
    .quyu2{top: calc(28% + 6px);height: 20%;border: 10px solid #ccc;border-bottom: 5px #000 dashed;}
    .quyu3{left: 29%;top:51%;height: calc(20%);border: 10px solid #ccc;border-bottom: 5px #000 dashed;}

	.top {position: absolute;width: 80%; height:5%;border: 10px solid #ccc;border-bottom: 5px #000 dashed; }
	.right {position: absolute;right: 0;height: 60%; top: 12%;width:15%;}
	.bottom {position: absolute;bottom: 0;width: 70%;left: calc(12% + 6px);height:20%;border: 10px solid #ccc;border-bottom: 5px #000 dashed;}
	.left {position: absolute;height: 80%;top: calc(12% + 10px);bottom: 0; width: 6%;border: 10px solid #ccc;border-right: 5px #000 dashed;}
	.da{height: 100%;width: 100%;}

	/*.content-div {   *//* 中间区域 *//*
	  position: absolute;
	  top: 16%; *//* 调整以适应悬浮div的高度 *//*
	  right: 27%; *//* 调整以适应悬浮div的宽度 *//*
	  bottom: 27%; *//* 调整以适应悬浮div的高度 *//*
	  left: 15%; *//* 调整以适应悬浮div的宽度 *//*
	}*/

	.parent {display: flex;   /*Flexbox布局的简写属性,必须设置这个,否则就需要设置浮动,但设置浮动很麻烦*/ }

	.b_child {height: calc(100% / 5); }
	.b_child_child{width: calc(100% / 12);   /* 占据列高度宽度的各1/10 ,但每个div都有边框3px,因此需要减去6px,否则内容会超出父div之外*/}

	.l_child {height: calc(100% / 3 - 3px);}
	.t_child {width: calc(100% / 3 - 3px); }

	.r_child {width: calc(100% / 5);  /* 占据整个div的高度的1/5 */}
	.r_child_child{height: calc(100% / 10 - 2px);}

	.c2_child_child{height: calc(100% / 5);} /*本来是5部分的,第一部分为一面墙,固定给10%的宽度,剩下的90,4个平分*/
	.c3_child_child{height: calc(100% / 5);}  /*本来是5部分的,第一部分为一面墙,固定给10%的宽度,剩下的90,3个平分*/

	.c2_child_child_lie{width: calc(100% / 11 );} /*2区域内每个小单元格*/
	.c3_child_child_lie{width: calc(100% / 8);} /*3区域内每个小单元格*/
	.ts{position: absolute;color: #eb8383;font-size: 3vh;right: 0;}
    .ge{border: 1px solid #ccc;background-color: #f5f5f5;}

	.inner-div:hover, .da:hover, .b_child_child:hover, .l_child:hover, .t_child:hover, .r_child_child:hover, .c2_child_child_lie:hover, .c3_child_child_lie:hover
	{box-shadow: 6px 5px 10px rgba(0, 0, 0, 0.8); background-color: #bebeeb; cursor: pointer;  position: relative; z-index: 999;}

	/*transform: scale(1.1); 放大效果 z-index: 999;/*放大的话就需要设置在最上层,否则会被遮挡,设置z-index就必须设置position ,
	不要设置放大,最下面的这个大区域,如果放大就会超过屏幕大小了,导致滚动条蹦出来*/
	/*  transition: all 0.2s ease-out; 添加过渡效果 */
2. html (参数中的lay是货架参数,内包含da大区域,zhong中区域,ceng层,lie 列,的数量),只看效果把id全干掉就好了,不影响生成效果,我的id只是为了渲染实时在库数进行颜色变更
<!DOCTYPE html>
<html xmlns:th="http://www.w3.org/1999/xhtml">
<HEAD>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</HEAD>
<body>
  <div id ="daJian" class="container" th:fragment="LayoutByDaJian">
	  <div class="right parent" style="border: 10px solid #ccc;border-left: 5px #000 dashed;"><!-- 111111111111111111111111111111111111111111 -->
		 <div class="r_child"><div class="da ge" th:id="${lay.da + '-1-1-1-0' }"></div></div>  <!--大区域的中区域1的第一层只有一列,且大件料是只有0,么有AB,如果以后有AB那就需要修改代码-->
		 <div class="r_child" th:each="i : ${#numbers.sequence(2, 5)}" th:id="${lay.da + '-1-' + i}"><!--1是中区域,需要写死,有5层,其中第一层写死,第二层到第五层动态生成-->
			 <div class="r_child_child ge" th:each="ii : ${#numbers.sequence(1, 10)}" th:id="${lay.da + '-1-' + i + '-' + ii + '-0'}"></div>
		 </div>
	  </div>
	  <div class="zhong quyu2" ><!-- 222222222222222222222222222222222222 -->
		  <div class="c2_child_child parent" th:each="i : ${#numbers.sequence(5, 2, -1)}" th:id="${lay.da + '-2-' + i}"> <!--倒序遍历生成-->
			  <div class="c2_child_child_lie ge" th:each="ii : ${#numbers.sequence(1, 11)}" th:id="${lay.da +'-2-'+ i + '-' + ii + '-0'}"></div>
		  </div>
		  <div class="c2_child_child parent"><div class="da ge" th:id="${lay.da + '-2-1-1-0' }"></div></div>
	  </div>
	  <div class="zhong quyu3" ><!-- 333333333333333333333333333333333333333333 -->
		  <div class="c3_child_child parent" th:each="i : ${#numbers.sequence(5, 2, -1)}" th:id="${lay.da + '-3-' + i}">
			  <div class="c3_child_child_lie ge" th:each="ii : ${#numbers.sequence(1,8)}" th:id="${lay.da +'-3-'+ i + '-' + ii + '-0'}"></div>
		  </div>
		  <div class="c3_child_child parent"><div class="da ge" th:id="${lay.da + '-3-1-1-0' }"></div>  </div>
	  </div>
	  <div class="bottom"><!-- 44444444444444444444444444444444444444444444444444444444444 -->
		  <div class="b_child parent" th:each="i : ${#numbers.sequence(5, 2, -1)}" th:id="${lay.da + '-4-' + i}">
			  <div class="b_child_child ge" th:each="ii : ${#numbers.sequence(1, 12)}" th:id="${lay.da +'-4-'+ i + '-' + ii + '-0'}"></div>
		  </div>
		  <div class="b_child "> <div class="da ge" th:id="${lay.da + '-4-1-1-0' }"></div></div>
	  </div>
	  <div class="left"><!-- 555555555555555555555555555555555555555555 -->
		  <div class="l_child ge" th:each="i : ${#numbers.sequence(3, 1, -1)}" th:id="${lay.da +'-5-1-'+ i + '-0'}"></div>
	  </div>
	  <div class="top parent"><!-- 666666666666666666666666666666666666666 -->
		  <div class="t_child ge" th:each="i : ${#numbers.sequence(1, 3)}" th:id="${lay.da +'-6-1-'+ i + '-0'}"></div>
	  </div>
	  <span class="ts">*虚线为货架底部</span>
	  <div class="ltongdao"> 内通道</div>
	  <div class="wai tongdao"> 外通道</div>
	  <div class="rtongdao"> 内通道</div>
	  <!-- 中中中中中中中中中中中中中中中中中中中中中间 -->
	  <div class="zhong chu chu1"> 废物回收处</div>
	  <div class="zhong tongdao" style="height: 4%;top:calc(16% + 6px);"> 内通道</div>
	  <div class="zhong chu" style="top:calc(20% + 6px)"> 空箱放置处</div>
	  <div class="zhong tongdao" style="height: 4%;top:calc(24% + 6px);"> 内通道</div>
	  <!-- 中中中中中中中中中中中中中中中中中中中中中间 -->
	  <div class="btongdao"> 内通道</div>
</div>
</body>  
</html>
3. 效果

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

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

相关文章

C语言-变量与数据类型

一、基本语法 1、注释 注释&#xff08;Comments&#xff09;可以出现在代码中的任何位置&#xff0c;用来向用户提示或解释代码的含义。程序编译时&#xff0c;会忽略注释&#xff0c;不做任何处理。 C 语言有两种注释方式&#xff1a; &#xff08;1&#xff09;单行注释 …

【Verilog 教程】6.4Verilog竞争与冒险

关键字&#xff1a;竞争&#xff0c;冒险&#xff0c;书写规范 产生原因 数字电路中&#xff0c;信号传输与状态变换时都会有一定的延时。 在组合逻辑电路中&#xff0c;不同路径的输入信号变化传输到同一点门级电路时&#xff0c;在时间上有先有后&#xff0c;这种先后所形成…

面试题:Java8 lambda 表达式 forEach 如何提前终止?

文章目录 1.情景展示2.原因分析3.解决方案方案一&#xff1a;使用原始的foreach循环方式一&#xff1a;break方式二&#xff1a;return(不推荐使用) 方案二&#xff1a;抛出异常 1.情景展示 如上图所示&#xff0c;我们想要终止for循环&#xff0c;使用return。 执行结果如下&…

成为吃鸡战场的王者!分享顶级战术干货,助您提高战斗力!

各位吃鸡战场的玩家们&#xff0c;欢迎来到本视频&#xff01;在这里&#xff0c;我将为您呈现一些与众不同的吃鸡干货&#xff0c;帮助您提高战斗力、轻松吃鸡&#xff01; 首先&#xff0c;让我们谈一谈作图工具推荐。绝地求生作图工具是吃鸡玩家们的必备利器。我将给大家推荐…

python+vue电子资源管理系统

能实现不出家门就可以通过网络进行系统管理&#xff0c;交易等&#xff0c;而且过程简单、快捷。同样的&#xff0c;在人们的工作生活中&#xff0c;也就需要互联网技术来方便人们的日常工作生活&#xff0c;实现工作办公的自动化处理&#xff0c;实现信息化&#xff0c;无纸化…

1.物联网射频识别

1.RFID概念 RFID是Radio Frequency Identification的缩写&#xff0c;又称无线射频识别&#xff0c;是一种通信技术&#xff0c;可通过无线电讯号识别特定目标并读写相关数据&#xff0c;而无需与被识别物体建立机械或光学接触。 RFID&#xff08;Radio Frequency Identificati…

传染病学模型 | Python实现基于SIR模型分析Covid19爆发

效果一览 文章概述 传染病学模型 | Python实现基于SIR 模型分析Covid19爆发 源码设计 import jax.numpy as npimport matplotlib.pyplot

向量数据库库Milvus Cloud2.3 运维可靠,秒级故障恢复

Milvus 2.3.0 已经发布有一段时间了,正如二选一的选择题总会让人陷入纠结一般,不少社区用户反馈对于选择 Milvus 2.2.x 还是 Milvus 2.3.x 犹豫不已。 对此,我们的回答是:强烈建议升级至 Milvus 2.3.x 版本。 为什么?在回答此问题之前,先回顾一下近一年来业界发生了哪些变…

RabbitMQ的基本介绍

什么是MQ 本质是一个队列&#xff0c;只不过队列中存放的信息是message罢了&#xff0c;还是一种跨进程的通信机制&#xff0c;用于上下游传递信息。在互联网架构中&#xff0c;MQ是一种非常常见的上下游“逻辑解耦物理解耦”的消息通信服务。使用了MQ之后&#xff0c;信息发送…

Flutter笔记:滚动之-无限滚动与动态加载的实现

Flutter笔记 无限滚动与动态加载的实现 作者&#xff1a;李俊才 &#xff08;jcLee95&#xff09;&#xff1a;https://blog.csdn.net/qq_28550263 邮箱 &#xff1a;291148484163.com 本文地址&#xff1a;https://blog.csdn.net/qq_28550263/article/details/133342307 本文还…

C++的内存管理和模板

文章目录 一、内存管理1.内存的分布2.C中的动态内存管理3.重载new和重载delete4.new和delete的实现原理5.定位new 二、模板1.泛型编程2.函数模板1.定义模板2.实例化模板3.模板类型的参数4.非类型模板参数 3.类模板1.定义模板2.实例化模板3.模板的成员函数 总结 一、内存管理 1…

蓝桥杯每日一题2023.9.27

4408. 李白打酒加强版 - AcWing题库 题目描述 题目分析 对于这题我们发现有三个变量&#xff0c;店&#xff0c;花&#xff0c;酒的数量&#xff0c;对于这种范围我们使用DP来进行分析。 dp[i][j][k]我们表示有i个店&#xff0c;j朵花&#xff0c;k单位酒的集合&#xff0c…

逆向入门及实战

一、逆向工程介绍 1.1 什么是逆向工程 提到逆向工程可能大多数人第一印象就是非道德层面的软件破解&#xff0c;其实不然&#xff0c;逆向工程又称为逆向技术&#xff0c;是一种产品设计技术再现过程&#xff0c;即对一项目产品进行逆向分析及研究&#xff0c;从而演绎并得出该…

git 过滤不需要提交的目录和文件

项目根目录下&#xff08;.git同级目录&#xff09;添加.gitignore文件 .DS_Store .idea npm-debug.log yarn-error.log /node_modules /log/**.log /config.js

【2023年11月第四版教材】第15章《风险管理》(合集篇)

第15章《风险管理》&#xff08;合集篇&#xff09; 1 章节说明2 管理基础2.1 风险的属性2.2 风险的分类★★★2.3 风险成本★★★2.4 管理新实践 3 管理过程4 管理ITTO汇总★★★5 过程1-规划风险管理6 过程2-识别风险6.1 识别风险★★★6.2 数据收集★★★6.3 数据分析★★★…

第一次作业题解

第一次作业题解 P5717 【深基3.习8】三角形分类 思路 考的是if()的使用,还要给三条边判断大小 判断优先级&#xff1a; 三角形&#xff1f;直角、钝角、锐角等腰等边 判断按题给顺序来 代码 #include <stdio.h> int main() {int a 0, b 0, c 0, x 0, y 0, z 0…

使用vpn/代理后电脑无法正常上网

有时候当我们关闭VPN后&#xff0c;却发现不能正常连接到互联网了。 解决步骤&#xff1a; 办法一&#xff1a; 1. 找到右下角wifi图标&#xff0c;鼠标右键点击然后点击网络和Internet 设置 2. 进入控制面板选择代理 3. 将自动检测打开&#xff0c;把使用代理服务器关闭 办法…

【C++入门指南】类和对象(上)

【C杂货店】类和对象&#xff08;上&#xff09; 一、面向过程和面向对象初步认识二、类的引入三、类的定义四、类的访问限定符及封装4.1 访问限定符4.2 封装 五、类的作用域六、类的实例化七、类对象模型7.1 类对象的存储规则7.2 例题7.3结构体内存对齐规则 八、this指针8.2 t…

【Java 进阶篇】使用 SQL 进行排序查询

在数据库中&#xff0c;我们经常需要对查询的结果进行排序&#xff0c;以便更容易地理解和分析数据。SQL&#xff08;Structured Query Language&#xff09;提供了强大的排序功能&#xff0c;允许我们按照指定的列对数据进行升序或降序排序。本文将详细介绍如何使用 SQL 进行排…

windows系统删除网络适配器

此电脑&#xff0c;右键&#xff0c;管理 打开本机设备管理器 其中找到网络适配器&#xff1a; 选中要删除的&#xff0c;右键点击“卸载设备”&#xff0c;点击卸载即可完成。