前端如何解决侧边栏菜单点击收齐时宽度回弹的问题?

菜单侧边栏点击收齐的时候,宽度会回弹一下,没有在js里面控制或者直接修改宽度,第一个图片是useRenderLayout,第二个是Menu

版本号:"element-plus":"^2.6.1",

css

:root{--el-aside-max-width:200px;--el-aside-min-width:64px;--el-aside-width:200px;}//useRenderLayout.scss$prefix-cls-left:#{$namespace}-render-left;.#{$prefix-cls-left}{display:flex;height:100%;.aside-max-width{width:var(--el-aside-max-width);}.aside-min-width{width:var(--el-aside-min-width);}.main-content{flex:1;.app-View{height:calc(100%-40px);padding:10px20px20px;}}}//Menu.vue$prefix-cls:#{$namespace}-menu;.#{$prefix-cls}{height:100%;background-color:rgba(255,255,255,0);width:100%;//对宽度有个两秒的动画=>感觉没啥用,没生效transition:width0.2s;//折叠动画的时候,就需要把文字给隐藏掉:deep(.el-menu--collapse){//background-color:red;//transition:0swidthease-in-out,0spadding-leftease-in-out,0spadding-rightease-in-out!important;.#{$prefix-cls}__title{display:none;}}}transition:width0.2s;我给宽度加了一个这个也不管用,我想知道它回弹的原因和解决办法

针对你描述的侧边栏菜单点击收齐时宽度回弹的问题,这通常是由于CSS样式或JavaScript逻辑处理不当导致的。以下是一些可能的解决步骤和检查点:

首先,确保在JavaScript中控制侧边栏宽度的逻辑是正确且一致的。检查是否有任何代码在侧边栏宽度变化后又意外地将其改回。特别是检查点击事件处理函数,确保在折叠和展开时只设置一次宽度。

你提到了一些注释掉的CSS规则,如transition:0swidthease-in-out,0spadding-leftease-in-out,0spadding-rightease-in-out!important;。这些规则如果被激活,可能会干扰侧边栏的过渡效果。确保这些规则没有被错误地应用。

如果CSS过渡不起作用,你可以考虑使用JavaScript来动态添加或移除类,这些类包含不同的宽度和过渡样式。例如,你可以有一个类.collapsed用于折叠状态,另一个类.expanded用于展开状态。在点击事件处理函数中,根据侧边栏的当前状态添加或移除这些类。

这里是一个简化的JavaScript示例,用于控制侧边栏的展开和折叠:

functiontoggleSidebar(){constsidebar=document.querySelector('.sidebar');if(sidebar.classList.contains('collapsed')){sidebar.classList.remove('collapsed');sidebar.style.width='200px';//或使用CSS变量}else{sidebar.classList.add('collapsed');sidebar.style.width='64px';//或使用CSS变量}}//假设你有一个按钮来触发侧边栏的折叠和展开document.querySelector('.toggle-button').addEventListener('click',toggleSidebar);确保你的CSS中.collapsed类定义了折叠状态下的样式,包括宽度和可能的过渡效果。

因为这个不涉及到js,存样式行为。所以我觉得当你折叠的时候,隐藏"菜单文字"那块还有行内元素宽度。

1、你看看用v-if与v-show方式都试试2、或将"菜单文字"div容器不用padding用margin3、又或"菜单文字"div容器不用padding与margin,对icon配置margin-left方式

所以我觉得问题在"菜单文字"容器那块F12看看"元素"的变化。仅个人猜想希望对你有帮助。

THE END
1.Sider:ChatGPT侧边栏下面是详细信息: 1并排使用:通过 Sider 的 ChatGPT 侧边栏,你可以在任何标签页上调出 ChatGPT,无需来回切换标签。这就是轻松实现多任务处理。 2 AI 游乐场:我们支持所有大牌——ChatGPT、o1、o1-mini、GPT-4、GPT-4o、GPT-4o mini、Claude 3.5 Sonnet 和 Google Gemihttps://microsoftedge.microsoft.com/addons/detail/sider-chatgpt%E4%BE%A7%E8%BE%B9%E6%A0%8F-vision/dhoenijjpgpeimemopealfcbiecgceod?eqid=87e53e130001ab1400000006646df06c
2.侧边栏布局和响应式布局的对比(SemiDesign)侧边栏布局: 通常将页面分为侧边栏(Sider)和主要内容区域(Content)。 侧边栏通常用于导航、菜单或其他辅助功能,而主要内容区域用于展示核心内容。 在你的代码中,Silider组件就是一个典型的侧边栏布局,侧边栏固定在左侧,右侧是 Header、Content 和 Footer。 https://blog.csdn.net/2202_75695913/article/details/145327361
3.SideBarPlus相似应用下载SideBar Plus 44 次下载 暂无 好评率 0 人评论 SideBar Plus最新版截图 # SideBar Plus最新版 SideBar Plus是一款侧边栏工具,支持多种特性定制。支持多项边栏工具功能,除此之外,还能够自己添加操作应用以及看天气等众多强大的功能,给用户带来方便快捷的使用愉悦感。只有当你体验到时你才会感觉到他的强大之处! https://www.wandoujia.com/apps/6570572
4.sidebar是什么意思sidebar的中文翻译音标读音用法例句1.Remove TheSidebar移除侧边栏 2.ToggleSidebar隐藏;显示侧边栏;框架转换;显示 3.SecondaryBar &SideBar额外的快捷栏;分外的快捷栏 4.SidebarGadget边栏小工具;边栏小东西 5.sidebarpro专业版;侧边栏专业版;侧边栏;侧边工具条 6.SideBarPlus侧边栏;侧边栏增强版;侧边栏增强汉化版 https://danci.gei6.com/sidebar__c8hkehmb.html
5.ElemenPlus实现侧边菜单栏伸缩mob6454cc620c34的技术博客ElemenPlus 实现侧边菜单栏伸缩 内容提要: 动态路由实现逻辑、sidebar侧边栏和面包屑导航。 动态路由 在vue-element-admin的基础上进行二次开发。 动态路由生成逻辑如下图: vue-element-admin 将路由分为:constantRoutes 和 asyncRoutes 用户登录系统时,会动态生成路由,其中 constantRoutes 必然包含,asyncRoutes 会进行https://blog.51cto.com/u_16099169/12109272
6.如何将文档上传到ChatGPTBing_AI_Sidebar">使用 ChatGPT 支持的 Bing AI 侧边栏分析文档 微软在 Edge 浏览器上添加了由 ChatGPT 支持的 Bing 侧边栏,使其在很长一段时间后得到了急需的刷新。这解锁了许多 Edge 浏览器功能,包括直接在浏览器中扫描任何文档的能力。 您无需单独将文件上传到任何网站。您只需在 Edge 浏览器中打开该文件https://m.10100.com/article/23553
7.侧边栏chatgpt,书签,应用程序等SideBarr的前10名好处包括一个强大的侧边栏, 功能,一个快速查找窗口,可让您快速访问选定文本的定义,一个支持所有流行搜索引擎的增强搜索页面,支持SINDBARR -CHATGPT 3.5 API键或GPT -4的Plus用户(新!), 支持黑暗或光模式,一个提供降压渲染,代码突出显示的响应页面,以及停止生成响应或将其复制到剪贴板的能力,许多https://www.chajianxw.com/product-tool/37046.html
8.vite+vue3+Ts+element侧边菜单栏开发 我们之前讲权限的地方已经给大家看过了返回的菜单数据,并封装成了树形结构,所以我们这里菜单就根据保存的菜单数据渲染菜单就可以了。 我们在按照以下层级创建侧边栏需要用到的组件 layout -> components -> Sidebar -> index.vue , SidebarItem.vue, SidebarMenu.vue https://cloud.tencent.com/developer/article/2276062
9.取消标题栏自定义切换成侧边栏,并增加懒路由节省内存·Luan一款Go Wails实现的GUI工具,功能涵盖网站扫描、端口扫描、企业信息收集、子域名暴破、空间引擎搜索、CDN识别等 - 取消标题栏自定义切换成侧边栏,并增加懒路由节省内存 · Luan-CC-DD/Slack@2648acahttps://github.com/Luan-CC-DD/Slack/commit/2648aca9d2659116a3af494dc7de7b83a9944002
10.Shopify侧边栏一级目录标题点击直接进入分类功能介绍:手机端侧边栏导航,含有二级目录的一级标题点击左侧标题处可直接进入对应collection页面,点击右侧+处,可打开二级目录。 打开shopify后台 -- 依次点击Online Store--Actions--Edit Code--搜索并打开sidebar-menu.liquid-- 将目标代码全选替换掉文件中原有代码即可。 https://www.jianshu.com/p/4602a457b781
11.Vue3elementPlus图标和自定义侧边栏图标侧边栏自定义图标的应用 vite+vue3+ts中使用自定义图标 使用elementPlus图标 在项目中引入 npminstall@element-plus/icons-vue import'element-plus/dist/index.css' import*asElementPlusIconsVuefrom'@element-plus/icons-vue' // 图标 for(const[key, component]ofObject.entries(ElementPlusIconsVue)) { https://www.freesion.com/article/73042627581/