html+css+js实现Collapse 折叠面板

news/2024/12/31 1:13:14/
htmledit_views">

实现效果:

HTML部分

html"><div class="collapse"><ul><li><div class="header"><h4>一致性 Consistency</h4><span class="iconfont icon-jiantou"></span></div><div class="footer">与现实生活一致:与现实生活的流程、逻辑保持一致,遵循用户习惯的语言和概念;<br>在界面中一致:所有的元素和结构需保持一致,比如:设计样式、图标和文本、元素的位置等。</div></li><li><div class="header"><h4>反馈 Feedback</h4><span class="iconfont icon-jiantou "></span></div><div class="footer">控制反馈:通过界面样式和交互动效让用户可以清晰的感知自己的操作;<br>页面反馈:操作后,通过页面元素的变化清晰地展现当前状态。</div></li><li><div class="header"><h4>效率 Efficiency</h4><span class="iconfont icon-jiantou"></span></div><div class="footer">简化流程:设计简洁直观的操作流程;<br>清晰明确:语言表达清晰且表意明确,让用户快速理解进而作出决策;<br>帮助用户识别:界面简单直白,让用户快速识别而非回忆,减少用户记忆负担。</div></li><li><div class="header"><h4>可控 Controllability</h4><span class="iconfont icon-jiantou"></span></div><div class="footer">用户决策:根据场景可给予用户操作建议或安全提示,但不能代替用户进行决策;<br>结果可控:用户可以自由的进行操作,包括撤销、回退和终止当前操作等。</div></li></ul></div>

CSS部分

css"><style>*{margin: 0;padding: 0;box-sizing: border-box;}li{list-style: none;}.collapse{width: 900px;border: 1px solid rgb(235, 235, 235);margin: 50px auto;padding: 25px;}.collapse ul{border-top: 1px solid rgb(235, 235, 235);}.collapse ul li{border-bottom: 1px solid rgb(235, 235, 235);}.collapse ul .header{cursor: pointer;position: relative;/* background-color: pink; */height: 40px;line-height: 40px;}.collapse ul .header h4{font-size: 18px;font-weight: normal;color: rgb(62, 63, 65);}.collapse ul li span{position: absolute;right: 0;top: -1px;transition: 0.8s ease;}.collapse ul li span.active{transform: rotate(-90deg);}.collapse ul .footer{overflow: hidden;max-height: 0;transition: max-height 0.8s ease;color: rgb(62, 63, 65)}.collapse ul li .footer.active{max-height: 500px;}</style>

JS部分 

html" title=javascript>javascript"><script>const headers=document.querySelectorAll('.header')headers.forEach(function(item){item.addEventListener('click',function(){const icon=this.querySelector('.iconfont')const footer=this.nextElementSiblingicon.classList.toggle('active');footer.classList.toggle('active');})})
</script>


http://www.ppmy.cn/news/1534592.html

相关文章

GO语言深度探索:并发编程与高性能网络服务器实践

GO语言深度探索&#xff1a;并发编程与高性能网络服务器实践 在当今快速发展的软件开发领域&#xff0c;Go语言&#xff08;又称Golang&#xff09;以其简洁的语法、强大的并发处理能力以及高效的编译执行速度&#xff0c;迅速成为构建高性能、高并发系统的首选语言之一。本文…

鸿蒙harmonyos next flutter混合开发之ohos工程 直接引用 flutter_module 源码

复制 flutter_module 源码 和 flutter相关文件 cp -r my_flutter_module/.ohos/flutter_module MyApplication/ cp my_flutter_module/.ohos/har/flutter.har MyApplication/har/flutter.har 修改 MyApplication/build-profile.json5,modules下新增如下内容 // 以下为新增内容…

Android wifi信号和漫游信号设置

1.wifi信号 /packages/modules/Wifi/framework/java/android/net/wifi/WifiManager.java Deprecated public static int calculateSignalLevel(int rssi, int numLevels) { if (rssi < MIN_RSSI) { //*/update wifi signal return 1;…

C语言中的栈帧

------------------------ | 局部变量区 | | (根据变量声明而变化) | ------------------------ | 参数区 | | (根据函数原型而变化) | ------------------------ | (可选) 保存寄存器区 | | (编译器/架构特定) | -…

keep-alive的保活

A进入B页面后退 A页面保活 A进入C页面后退A页面不保活的处理办法 Vue的keep-alive组件主要用于缓存组件的状态&#xff0c;当用户从一个路由跳转到另一个路由然后返回时&#xff0c;可以保持该组件的状态不变&#xff0c;避免不必要的重新渲染。默认情况下&#xff0c;只有当组…

《数据结构(刘大有)》学习(6)

系列文章目录 一、绪论 二、顺序表、链表 三、堆栈、队列 四、数组 五、字符串 六、树 目录 树的基本概念树的定义树的特点树的相关术语度层数高度路径二叉树定义特点定理满二叉树定义特点完全二叉树定义特点二叉树的存储结构顺序存储结点结构优点缺点 链式存储 结点结构…

无IDEA不Java:快速掌握Java集成开发环境

IntelliJ IDEA是一种强大的Java集成开发环境&#xff0c;是Java开发人员的首选工具之一。本文将介绍IDEA的基本使用方法和常用功能&#xff0c;以帮助初学者快速上手。 安装和配置 首先&#xff0c;需要下载并安装IntelliJ IDEA。在安装完成后&#xff0c;需要配置JDK&#xff…

Vite+Vue3+SpringBoot项目如何打包部署

VueSpringBoot项目如何打包部署 Springboot后端打包 这里我以jar包的方式进行打包 1、我们需要在Pom.XML文件里面确保有maven的依赖&#xff1a; <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spri…