/* ========== 聊天侧边栏样式 ========== */ /* 会话菜单项基础样式 - 作用域:每个会话项的容器 */ .chat-sidebar-menu .ant-menu-item { margin: 4px 0; /* 会话项之间的垂直间距 */ border-radius: 6px; /* 会话项圆角 */ height: auto; /* 自适应高度 */ line-height: 1.4; /* 行高 */ padding: 8px 12px; /* 内边距 */ color: #374151; /* 会话文字颜色 - 默认状态 */ } /* 会话项悬停状态 - 作用域:鼠标悬停在会话项上时 */ .chat-sidebar-menu .ant-menu-item:hover { background-color: #f5f5f5; /* 悬停时的背景色 */ /* color: #1f2937; */ /* 悬停时的文字颜色 */ } /* 会话项选中状态 - 作用域:当前选中的会话项 */ .chat-sidebar-menu .ant-menu-item-selected { background-color: rgba(0, 104, 74, 0.1); /* 选中时的背景色(绿色半透明) */ border-color: #00684A; /* 选中时的边框色 */ color: #00684A; /* 选中时的文字颜色(绿色) */ font-weight: 500; /* 选中时的文字粗细 */ } /* 会话项选中状态的右侧指示条 - 作用域:选中会话项的右侧边框 */ .chat-sidebar-menu .ant-menu-item-selected::after { border-right: 3px solid #00684A; /* 选中时右侧的绿色指示条 */ } /* 会话项图标样式 - 作用域:会话项前面的消息图标 */ .chat-sidebar-menu .ant-menu-item .anticon { color: inherit; /* 图标颜色继承文字颜色 */ font-size: 14px; /* 图标大小 */ } /* 会话项标题内容容器 - 作用域:会话名称和操作按钮的容器 */ .chat-sidebar-menu .ant-menu-item .ant-menu-title-content { width: 100%; /* 占满整个宽度 */ } /* 会话名称文本样式 - 作用域:会话名称文字 */ .chat-sidebar-menu .ant-menu-item .ant-menu-title-content span { color: inherit; /* 继承父元素的文字颜色 */ font-size: 14px; /* 文字大小 */ font-weight: inherit; /* 继承父元素的文字粗细 */ } /* ========== 响应式设计 ========== */ /* 大屏幕 - 1200px以上 */ @media (min-width: 1200px) { .ant-layout-sider { position: relative !important; } } /* 中等屏幕 - 992px到1199px */ @media (max-width: 1199px) and (min-width: 992px) { .ant-layout-sider { width: 200px !important; min-width: 200px !important; max-width: 200px !important; } .ant-layout-sider.ant-layout-sider-collapsed { width: 60px !important; min-width: 60px !important; max-width: 60px !important; } } /* 平板屏幕 - 768px到991px */ @media (max-width: 991px) and (min-width: 768px) { .ant-layout-sider { position: fixed !important; left: 0; top: 0; bottom: 0; z-index: 1000; width: 240px !important; min-width: 240px !important; max-width: 240px !important; transform: translateX(0); transition: transform 0.3s ease; } .ant-layout-sider.ant-layout-sider-collapsed { transform: translateX(-100%); } } /* 手机端 - 768px以下 */ @media (max-width: 767px) { .ant-layout-sider { position: fixed !important; left: 0; top: 0; bottom: 0; z-index: 1000; width: 280px !important; min-width: 280px !important; max-width: 280px !important; transform: translateX(0); transition: transform 0.3s ease; box-shadow: 2px 0 8px rgba(0, 0, 0, 0.15); } .ant-layout-sider.ant-layout-sider-collapsed { transform: translateX(-100%); } /* 手机端菜单项调整 */ .chat-sidebar-menu .ant-menu-item { padding: 12px 16px; margin: 6px 0; } .chat-sidebar-menu .ant-menu-item .ant-menu-title-content span { font-size: 16px; } } /* 小手机 - 480px以下 */ @media (max-width: 479px) { .ant-layout-sider { width: 100vw !important; min-width: 100vw !important; max-width: 100vw !important; } } /* ========== 滚动条样式 ========== */ /* Webkit浏览器滚动条宽度 - 作用域:会话列表的滚动条 */ .chat-sidebar-menu::-webkit-scrollbar { width: 4px; /* 滚动条宽度 */ } /* Webkit浏览器滚动条轨道 - 作用域:滚动条背景轨道 */ .chat-sidebar-menu::-webkit-scrollbar-track { background: #f1f1f1; /* 轨道背景色 */ border-radius: 2px; /* 轨道圆角 */ } /* Webkit浏览器滚动条滑块 - 作用域:滚动条可拖拽部分 */ .chat-sidebar-menu::-webkit-scrollbar-thumb { background: #c1c1c1; /* 滑块背景色 */ border-radius: 2px; /* 滑块圆角 */ } /* Webkit浏览器滚动条滑块悬停 - 作用域:鼠标悬停在滚动条滑块上时 */ .chat-sidebar-menu::-webkit-scrollbar-thumb:hover { background: #a8a8a8; /* 悬停时滑块颜色 */ } /* ========== 侧边栏布局样式 ========== */ /* 侧边栏容器布局 - 作用域:整个侧边栏容器 */ .ant-layout-sider { display: flex !important; /* 弹性布局 */ flex-direction: column !important; /* 垂直方向排列 */ height: 100% !important; /* 占满父容器高度 */ min-height: 100% !important; /* 最小高度也是100% */ } /* 侧边栏内容区域 - 作用域:侧边栏内部所有内容的容器 */ .ant-layout-sider .ant-layout-sider-children { display: flex; /* 弹性布局 */ flex-direction: column; /* 垂直方向排列 */ height: 100%; /* 占满高度 */ min-height: 100%; /* 最小高度 */ overflow: hidden; /* 隐藏溢出内容 */ } /* ========== 操作按钮样式 ========== */ /* 更多操作按钮 - 作用域:会话项右侧的三点菜单按钮 */ .chat-sidebar-menu .ant-menu-item .ant-dropdown-trigger { color: #6b7280; /* 默认颜色(灰色) */ } /* 更多操作按钮悬停 - 作用域:鼠标悬停在三点菜单按钮上时 */ .chat-sidebar-menu .ant-menu-item .ant-dropdown-trigger:hover { color: #00684A; /* 悬停时颜色(绿色) */ } /* ========== 侧边栏底部统计信息 ========== */ /* 侧边栏底部容器 - 作用域:显示对话数量统计的底部区域 */ .ant-layout-sider .sidebar-footer { background-color: #f9fafb; /* 底部背景色 */ border-top: 1px solid #e5e7eb; /* 顶部分割线 */ padding: 12px 16px; /* 内边距 */ flex-shrink: 0; /* 不允许收缩 */ /* 距离顶部位置 */ margin-top: 20px; } /* 侧边栏底部文本 - 作用域:对话数量统计文本 */ .ant-layout-sider .sidebar-footer .stats-text { font-size: 12px; /* 文字大小 */ color: #6b7280; /* 文字颜色 */ text-align: center; /* 居中对齐 */ font-weight: 500; /* 文字粗细 */ line-height: 1.4; /* 行高 */ margin: 0; /* 移除外边距 */ }