本文介绍使用 JavaScript 类名切换配合 CSS transform: scaleY() 实现 div 元素的平滑垂直展开/收起效果,解决因直接操作内联样式导致的布局错乱问题,并确保子元素(如 SVG、隐藏区域)正确响应尺寸变化。 本文介绍使用 javascript 类名切换配合 css `transform: scaley()` 实现 div 元素的平滑垂直展开/收起效果,解决因直接操作内联样式导致的布局错乱问题,并确保子元素(如 svg、隐藏区域)正确响应尺寸变化。在前端交互开发中,实现“点击展开/收起”是常见需求。但若直接通过 element.style.transform = 'scaleY(3)' 修改内联样式,不仅难以维护,还容易与 CSS 优先级冲突,导致动画失效或布局异常(例如 SVG 变形、子元素错位)。最佳实践是采用「CSS 类控制样式 + JS 控制类状态」的分离模式。? 推荐方案:classList.toggle() + CSS 类驱动动画首先,在 JavaScript 中监听点击事件,并对目标元素(.bar)切换一个预设的 CSS 类:const divItem = document.getElementById('divItem');divItem.addEventListener('click', () => { document.querySelector('.bar').classList.toggle('expanded');});?? 注意:原问题中提到“双击”,但示例代码为 click;如需严格双击,请改用 'dblclick' 事件。但需注意移动端无双击事件,生产环境建议统一用单击或添加触摸兼容逻辑。接着,在 CSS 中定义 .bar.expanded 的变换行为。关键点在于:使用 transform: scaleY() 实现纵向拉伸(不影响宽度和布局流);添加 transition 实现平滑动画;确保 .bar 容器具有明确的 transform-origin(默认为 50% 50%,即居中缩放),若需“向下展开”,应设为 top center,使缩放锚点位于顶部,从而自然向下延展:.bar { transform-origin: top center; transition: transform 0.3s ease-in-out;}.bar.expanded { transform: scaleY(3);}同时,为使 .circle 区域随 .bar 展开而可见,不应依赖 visibility: hidden(该属性不触发重排,且无法被 transform 影响显示逻辑),而应结合 overflow: hidden 与高度控制,或更稳妥地使用 opacity + pointer-events 配合: 唱鸭 音乐创作全流程的AI自动作曲工具,集 AI 辅助作词、AI 自动作曲、编曲、混音于一体
如何通过点击事件动态展开与收起 DOM 元素
张小明
前端开发工程师
二开MDUT-Pro多功能数据库综合利用工具,助力高效拿下内网权限
0x01 工具介绍 MDUT-Pro是基于原版MDUT深度二次开发的跨平台多数据库综合利用工具,延续了原版JavaFx美观GUI界面与轻量化优势,针对内网渗透实战痛点全面升级,整合主流数据库攻防、漏洞利用、权限提升、文件传输等核心能力,打破传…
手机Camera模组供应链揭秘:从索尼IMX586到国产格科微,高通平台如何适配不同Sensor
手机影像供应链技术解析:高通平台如何实现多厂商Camera模组适配 在智能手机的硬件架构中,Camera模组的适配能力直接决定了终端产品的影像表现和市场竞争力。作为移动平台的核心供应商,高通通过其高度灵活的Camera软件框架,成功实现…
OpenTiny社区发布TinyVue v3.30.0:跨端响应式里程碑,多项特性升级!
OpenTiny社区正式发布TinyVue v3.30.0在万物互联的今天,前端组件库的边界不断被打破,开发者既需要PC端的严谨高效,也需要移动端的灵活性与流畅感。近期,OpenTiny社区正式发布TinyVue v3.30.0,这不仅是常规的功能迭代&a…
图片过AI检测工具:18种技术方案详解与使用说明
背景AI生成内容检测在内容平台日益严格,很多创作者面临一个困境:自己用AI辅助创作的图片,明明经过了大量后期修改,但检测工具仍然提示"疑似AI生成"。经过研究我发现,问题的关键在于AI图片的统计特征与真实照…
Bebas Neue字体终极指南:如何用免费开源字体打造专业设计作品 [特殊字符]
Bebas Neue字体终极指南:如何用免费开源字体打造专业设计作品 🎨 【免费下载链接】Bebas-Neue Bebas Neue font 项目地址: https://gitcode.com/gh_mirrors/be/Bebas-Neue 还在为寻找既专业又免费的标题字体而烦恼吗?Bebas Neue这款开…
Windows 10下RTX 2060 SUPER显卡配置gprMax GPU加速全记录(含VS2019、CUDA 11.0、Python 3.7.5版本踩坑实录)
Windows 10下RTX 2060 SUPER显卡配置gprMax GPU加速全记录(含VS2019、CUDA 11.0、Python 3.7.5版本踩坑实录) 作为一个长期使用gprMax进行电磁仿真模拟的研究者,我深知GPU加速对提升计算效率的重要性。最近我将工作站的显卡升级为RTX 2060 S…