vue3实现渐近伸缩抽屉按钮

需求背景

需要实现一个伸缩抽屉的按钮展示,且字体需要出现渐近效果

解决效果

vue3实现渐近伸缩抽屉按钮

index.vue

<!--/*** @author: liuk* @date: 2023/8/21* @describe: 抽屉渐近显隐按钮* @email:1229223630@qq.com*/-->
<template><div class="building-floor-menu"><div :class="['building-floor-menu-item',item.select?'select':'']" v-for="item in setData" :key="item.name"@mouseenter="menuItemClick(item)" @mouseleave="item.select = false"><div class="inner-box"><div class="real-box"><div class="name"><span class="tit">{{ item.name }}</span><span class="pos">{{ item.pos }}</span></div><div class="con"><div class="con-list"><p><span class="temperature">{{ item.tem1 }}</span>°C</p><span class="average">平均室温</span></div><div class="con-list"><p><span class="temperature">{{ item.tem2 }}</span></p><span class="average">过冷住户</span></div><div class="con-list"><p><span class="temperature">{{ item.tem3 }}</span></p><span class="average">过热住户</span></div></div></div></div></div></div>
</template><script lang="ts" setup>
import {ref} from "vue";const setData = ref([{name: '高区组名称',pos: "16F~22F",tem1: "20.1",tem2: 2,tem3: 3,}, {name: '中区组名称',pos: "16F~22F",tem1: "24.4",tem2: 2,tem3: 3,}, {name: '低区组名称',pos: "16F~22F",tem1: "23.7",tem2: 2,tem3: 3,},
])
const menuItemClick = (item) => {setData.value.forEach((x: any) => x.select = false)item.select = true
}
</script>
<style lang="scss" scoped>
.building-floor-menu {position: fixed;bottom: 30px;right: 700px;display: flex;.building-floor-menu-item {display: flex;flex-direction: column;width: 112px;height: 112px;padding: 12px;border: 1px solid transparent;background: rgba(38, 38, 38, 0.8);box-shadow: -10px 0px 22px 0px rgba(0, 0, 0, 0.22);border-radius: 4px;box-sizing: border-box;margin-right: 10px;user-select: none;transition: all 0.5s ease-in-out .3s;&.select {width: 250px;border: 1px solid #fff;.inner-box {width: 250px;}}.inner-box {width: 75px;overflow: hidden;transition: all 0.5s ease-in-out .3s;.real-box {width: 225px;.name {display: flex;justify-content: space-between;flex-wrap: nowrap;overflow: hidden;.tit {font-size: 14px;color: #FFFFFF;letter-spacing: 0;font-weight: 500;}.pos {font-size: 12px;color: #CCCCCC;letter-spacing: 0;font-weight: 400;}}.con {display: flex;justify-content: space-between;.con-list {width: 65px;height: 68px;margin-right: 13px;p {margin: 15px 0 5px;.temperature {font-size: 24px;color: #FFFFFF;letter-spacing: 0;line-height: 16px;font-weight: 400;}span {font-size: 12px;color: #CACACA;letter-spacing: 0;font-weight: 200;}}.average {opacity: 0.5;font-size: 12px;color: #FFFFFF;letter-spacing: 0;line-height: 16px;font-weight: 400;}}}}}}
}
</style>

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

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

相关文章

云原生之使用Docker部署SSCMS内容管理系统

云原生之使用Docker部署SSCMS内容管理系统 一、SSCMS介绍二、本地环境介绍2.1 本地环境规划2.2 本次实践介绍 三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本 四、下载SSCMS镜像五、部署SSCMS内容管理系统5.1 创建SSCMS容器5.2 检查SSC…

汽车电子笔记之:AUTOSAR方法论及基础概念

目录 1、AUTOSAR方法论 2、AUTOSAR的BSW 2.1、MCAL 2.2、ECU抽象层 2.3、服务层 2.4、复杂驱动 3、AUTOSAR的RTE 4、AUTOSAR的应用层 4.1、SWC 4.2、AUTOSAR的通信 4.3、AUTOSAR软件接口 1、AUTOSAR方法论 AUTOSAR为汽车电子软件系统开发过程定义了一套通用的技术方法…

在 macOS 中安装 TensorFlow 1g

tensorflow 需要多大空间 pip install tensorflow pip install tensorflow Looking in indexes: https://pypi.douban.com/simple/ Collecting tensorflowDownloading https://pypi.doubanio.com/packages/1a/c1/9c14df0625836af8ba6628585c6d3c3bf8f1e1101cafa2435eb28a7764…

基于ROS2的消除重力加速度对IMU加速度影响,动态获取当前重力加速度。

IMU的全称是惯性测量单元&#xff0c;包括一个三轴的加速度计以及一个三轴的陀螺仪&#xff0c;分别测量出物体的加速度和角速度信息&#xff0c;不受周围环境结构、光照等外界因素影响。通常IMU的输出频率在100-1000hz之间&#xff0c;远高于相机或者激光雷达的输出频率 消除…

Windows 安装DotNet Core运行时库

1、安装Windows Management Framework 3.0或5.1 2、安装choco&#xff0c;下载地址https://chocolatey.org/install或通过PowerShell执行以下代码。 Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString(https://choco…

容灾设备系统组成,容灾备份系统组成包括哪些

随着信息技术的快速发展&#xff0c;企业对数据的需求越来越大&#xff0c;数据已经成为企业的核心财产。但是&#xff0c;数据安全性和完整性面临巨大挑战。在这种环境下&#xff0c;容灾备份系统应运而生&#xff0c;成为保证企业数据安全的关键因素。下面我们就详细介绍容灾…

关于JAVA程序的内存分布

目录 1.Java程序运行时内存说明 2.JVM内存划分 3.Java中数据类型 4.Java中的String 5.结合HelloWorld分析java程序内存分布 1.Java程序运行时内存说明 编写的.java程序文件需要java编译器javac转成.class文件&#xff0c;然后通过jvm&#xff08;名为java的可执行程序&…

java使用@interface和反射来动态生成excel

1、对象类上搞注解 public class ReportExecuteDetailDto { // 项目信息 private String regionCode; // 大区编号 ExcelColumn(order 0, title "大区") private String regionName; // 大区名称 ExcelColumn(order 14, tit…

STM32F103 USB OTA升级BootLoader (一)

1.配置外部高速晶振 2.勾选USB功能 3.将USB模式配置Virtual Port Com 4.将系统主频配置为72M,USB频率配置为48M. 5.配置好项目名称&#xff0c;开发环境&#xff0c;最后获取代码。 6.修改Flash大小和勾选Use Micro LIB 7.修改main.c代码 #include "main.h" #includ…

ASP.NET Core 中的 Dependency injection

依赖注入&#xff08;Dependency Injection&#xff0c;简称DI&#xff09;是为了实现各个类之间的依赖的控制反转&#xff08;Inversion of Control&#xff0c;简称IoC &#xff09;。 ASP.NET Core 中的Controller 和 Service 或者其他类都支持依赖注入。 依赖注入术语中&a…

浏览器安装selenium驱动,以Microsoft Edge安装驱动为例

Selenium是一个用于Web应用程序测试的自动化工具。它可以直接在浏览器中运行&#xff0c;模拟真实用户对浏览器进行操作。利用selenium&#xff0c;可以驱动浏览器执行特定的动作&#xff0c;比如&#xff1a;点击、下拉等等&#xff0c;还可以获取浏览器当前呈现的页面的源代码…

8/26 回溯法 周总结 记录个人的想法

DAY1 77. 组合 这道题是经典的回溯题&#xff0c; 递归函数参数和返回值显而易见 终止条件是path.size()k 递归逻辑&#xff0c;需要理解每次调用回溯的startIndex的含义&#xff0c;图解&#xff1a; DAY2 216. 组合总和 III:这道题与77题作类比&#xff1a; 77&#xff1…

自定义loadbalance实现feignclient的自定义路由

自定义loadbalance实现feignclient的自定义路由 项目背景 服务A有多个同事同时开发&#xff0c;每个同事都在dev或者test环境发布自己的代码&#xff0c;注册到注册中心有好几个(本文nacos为例)&#xff0c;这时候调用feign可能会导致请求到不同分支的服务上面&#xff0c;会…

React(7)

1.React Hooks 使用hooks理由 1. 高阶组件为了复用&#xff0c;导致代码层级复杂 2. 生命周期的复杂 3. 写成functional组件,无状态组件 &#xff0c;因为需要状态&#xff0c;又改成了class,成本高 1.1 useState useState();括号里面处的是初始值&#xff1b;返回的是一个…

【算法系列 | 7】深入解析查找算法之—布隆过滤器

序言 心若有阳光&#xff0c;你便会看见这个世界有那么多美好值得期待和向往。 决定开一个算法专栏&#xff0c;希望能帮助大家很好的了解算法。主要深入解析每个算法&#xff0c;从概念到示例。 我们一起努力&#xff0c;成为更好的自己&#xff01; 今天第3讲&#xff0c;讲一…

stm32之8.中断

&#xff08;Exceptions&#xff09;异常是导致程序流更改的事件&#xff0c;发生这种情况&#xff0c;处理器将挂起当前执行的任务&#xff0c;并执行程序的一部分&#xff0c;称之为异常处理函数。在完成异常处理程序的执行之后&#xff0c;处理器将恢复正常的程序执行&#…

python+TensorFlow实现人脸识别智能小程序的项目(包含TensorFlow版本与Pytorch版本)

pythonTensorFlow实现人脸识别智能小程序的项目&#xff08;包含TensorFlow版本与Pytorch版本&#xff09; 一&#xff1a;TensorFlow基础知识内容部分&#xff08;简明扼要&#xff0c;快速适应&#xff09;1、下载Cifar10数据集&#xff0c;并进行解压缩处理2、将Cifar10数据…

WebSocket详解以及应用

&#x1f61c;作 者&#xff1a;是江迪呀✒️本文关键词&#xff1a;websocket、网络、长连接、前端☀️每日 一言&#xff1a;任何一个你不喜欢而又离不开的地方&#xff0c;任何一种你不喜欢而又无法摆脱的生活&#xff0c;都是监狱&#xff01; 一、前言 我们在…

C#-集合小例子

目录 背景&#xff1a; 过程: 1.添加1-100数: 2.求和: 3.平均值: 4.代码:​ 总结: 背景&#xff1a; 往集合里面添加100个数&#xff0c;首先得有ArrayList导入命名空间&#xff0c;这个例子分为3步&#xff0c;1.添加1-100个数2.进行1-100之间的总和3.求总和的平均值&…

如何把本地项目上传github

一、在gitHub上创建新项目 【1】点击添加&#xff08;&#xff09;-->New repository 【2】填写新项目的配置项 Repository name&#xff1a;项目名称 Description &#xff1a;项目的描述 Choose a license&#xff1a;license 【3】点击确定&#xff0c;项目已在githu…