fix: 修复侧边栏切换图标错位

Close #21
This commit is contained in:
rbetree
2025-10-27 15:56:59 +08:00
parent 886bc464d1
commit cb144d5315

View File

@@ -329,6 +329,7 @@ body.loaded .layout {
position: relative; /* 添加相对定位,作为按钮的参考 */ position: relative; /* 添加相对定位,作为按钮的参考 */
height: 60px; /* 固定高度,确保两种状态下一致 */ height: 60px; /* 固定高度,确保两种状态下一致 */
margin-bottom: 0.8rem; /* 与下方按钮区域拉开间距 */ margin-bottom: 0.8rem; /* 与下方按钮区域拉开间距 */
transition: padding 0.3s ease; /* 添加padding过渡避免突变 */
} }
.logo h1 { .logo h1 {
@@ -356,16 +357,23 @@ body.loaded .layout {
align-items: center; align-items: center;
justify-content: center; justify-content: center;
cursor: pointer; cursor: pointer;
transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1); transition: background 0.3s ease; /* 只过渡背景色移除all避免位置过渡 */
margin-left: 8px;
padding: 0; padding: 0;
flex-shrink: 0; /* 防止按钮被压缩 */ flex-shrink: 0; /* 防止按钮被压缩 */
/* 在展开态使用flex对齐保持与标题自然对齐 */ position: absolute; /* 在两种状态下都使用绝对定位 */
right: 1.2rem; /* 展开状态下固定在右侧 */
top: 60%;
transform: translateY(-50%); /* 垂直居中 */
} }
.sidebar-toggle .toggle-icon { .sidebar-toggle .toggle-icon {
font-size: 0.9rem; font-size: 0.9rem;
transition: transform 0.3s ease; transition: transform 0.3s ease;
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
} }
.sidebar-toggle:hover { .sidebar-toggle:hover {
@@ -373,24 +381,22 @@ body.loaded .layout {
} }
.sidebar-toggle:active { .sidebar-toggle:active {
background: var(--secondary-bg);
} }
/* 收起状态下按钮居中 */
.sidebar.collapsed .sidebar-toggle { .sidebar.collapsed .sidebar-toggle {
position: absolute; left: 50%; /* 水平居中 */
right: 16px; /* 与展开态保持一致的右侧间距 */ right: auto; /* 移除右侧定位 */
top: 50%; transform: translate(-50%, -50%); /* 同时水平和垂直居中 */
transform: translateY(-50%);
margin: 0;
height: 28px; /* 与展开态一致 */
width: 28px; /* 与展开态一致 */
} }
.sidebar.collapsed .sidebar-toggle:hover { .sidebar.collapsed .sidebar-toggle:hover {
transform: translateY(-50%); background: var(--secondary-bg);
} }
.sidebar.collapsed .sidebar-toggle:active { .sidebar.collapsed .sidebar-toggle:active {
transform: translateY(-50%); background: var(--secondary-bg);
} }
/* 侧边栏折叠状态下的按钮图标旋转180度 */ /* 侧边栏折叠状态下的按钮图标旋转180度 */
@@ -430,6 +436,7 @@ body.loaded .layout {
transform: translateX(-20px); transform: translateX(-20px);
width: 0; width: 0;
visibility: hidden; /* 确保完全隐藏,防止干扰布局 */ visibility: hidden; /* 确保完全隐藏,防止干扰布局 */
pointer-events: none; /* 禁用交互,避免影响布局 */
} }
/* 导航区域样式 */ /* 导航区域样式 */