|
@@ -113,8 +113,7 @@ body {
|
|
|
/* ==================== 阅读页样式 ==================== */
|
|
/* ==================== 阅读页样式 ==================== */
|
|
|
.reader-container {
|
|
.reader-container {
|
|
|
display: flex;
|
|
display: flex;
|
|
|
- height: 100vh;
|
|
|
|
|
- overflow: hidden;
|
|
|
|
|
|
|
+ min-height: 100vh;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.sidebar {
|
|
.sidebar {
|
|
@@ -122,18 +121,23 @@ body {
|
|
|
border-right: 1px solid var(--border-color);
|
|
border-right: 1px solid var(--border-color);
|
|
|
overflow-y: auto;
|
|
overflow-y: auto;
|
|
|
transition: transform 0.3s ease;
|
|
transition: transform 0.3s ease;
|
|
|
|
|
+ position: fixed;
|
|
|
|
|
+ top: 0;
|
|
|
|
|
+ height: 100vh;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.left-sidebar {
|
|
.left-sidebar {
|
|
|
width: 280px;
|
|
width: 280px;
|
|
|
min-width: 280px;
|
|
min-width: 280px;
|
|
|
|
|
+ left: 0;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.right-sidebar {
|
|
.right-sidebar {
|
|
|
width: 260px;
|
|
width: 260px;
|
|
|
min-width: 260px;
|
|
min-width: 260px;
|
|
|
border-right: none;
|
|
border-right: none;
|
|
|
- border-left: 1px solid var(--border-color);
|
|
|
|
|
|
|
+ right: 0;
|
|
|
|
|
+ background: white;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.sidebar-header {
|
|
.sidebar-header {
|
|
@@ -177,10 +181,12 @@ body {
|
|
|
|
|
|
|
|
.content-area {
|
|
.content-area {
|
|
|
flex: 1;
|
|
flex: 1;
|
|
|
- overflow-y: auto;
|
|
|
|
|
padding: 40px;
|
|
padding: 40px;
|
|
|
background: white;
|
|
background: white;
|
|
|
position: relative;
|
|
position: relative;
|
|
|
|
|
+ margin-left: 280px;
|
|
|
|
|
+ margin-right: 260px;
|
|
|
|
|
+ min-height: 100vh;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/* ==================== 搜索功能样式 ==================== */
|
|
/* ==================== 搜索功能样式 ==================== */
|
|
@@ -465,55 +471,78 @@ body {
|
|
|
margin-left: 32px;
|
|
margin-left: 32px;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-/* TOC 样式 */
|
|
|
|
|
|
|
+/* TOC 样式 - VitePress风格 */
|
|
|
.toc {
|
|
.toc {
|
|
|
- padding: 20px 12px;
|
|
|
|
|
|
|
+ padding: 16px 16px 16px 16px;
|
|
|
|
|
+ position: relative;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/* VitePress风格:左侧竖线 */
|
|
|
|
|
+.toc::before {
|
|
|
|
|
+ content: '';
|
|
|
|
|
+ position: absolute;
|
|
|
|
|
+ left: 20px;
|
|
|
|
|
+ top: 16px;
|
|
|
|
|
+ bottom: 16px;
|
|
|
|
|
+ width: 1px;
|
|
|
|
|
+ background: var(--border-color);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.toc-link {
|
|
.toc-link {
|
|
|
display: block;
|
|
display: block;
|
|
|
- padding: 6px 10px;
|
|
|
|
|
- color: #656d76;
|
|
|
|
|
|
|
+ padding: 2px 0 2px 14px;
|
|
|
|
|
+ color: #6b7280;
|
|
|
text-decoration: none;
|
|
text-decoration: none;
|
|
|
- border-radius: 4px;
|
|
|
|
|
- transition: all 0.2s;
|
|
|
|
|
- font-size: 0.85rem;
|
|
|
|
|
- margin: 3px 0;
|
|
|
|
|
- line-height: 1.4;
|
|
|
|
|
|
|
+ transition: all 0.25s;
|
|
|
|
|
+ font-size: 0.8125rem;
|
|
|
|
|
+ margin: 0;
|
|
|
|
|
+ line-height: 1.5;
|
|
|
|
|
+ position: relative;
|
|
|
|
|
+ border-left: 1px solid transparent;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.toc-link:hover {
|
|
.toc-link:hover {
|
|
|
- color: var(--primary-color);
|
|
|
|
|
- background: rgba(9, 105, 218, 0.08);
|
|
|
|
|
|
|
+ color: var(--text-color);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+/* VitePress风格:活跃状态的蓝色竖线 */
|
|
|
.toc-link.active {
|
|
.toc-link.active {
|
|
|
color: var(--primary-color);
|
|
color: var(--primary-color);
|
|
|
- background: rgba(9, 105, 218, 0.12);
|
|
|
|
|
font-weight: 500;
|
|
font-weight: 500;
|
|
|
|
|
+ border-left-color: var(--primary-color);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+/* 各级标题缩进 - VitePress风格更紧凑 */
|
|
|
.toc-level-1 {
|
|
.toc-level-1 {
|
|
|
- padding-left: 10px;
|
|
|
|
|
|
|
+ padding-left: 14px;
|
|
|
font-weight: 500;
|
|
font-weight: 500;
|
|
|
|
|
+ font-size: 0.8125rem;
|
|
|
}
|
|
}
|
|
|
.toc-level-2 {
|
|
.toc-level-2 {
|
|
|
- padding-left: 20px;
|
|
|
|
|
- font-size: 0.83rem;
|
|
|
|
|
|
|
+ padding-left: 24px;
|
|
|
|
|
+ font-size: 0.78rem;
|
|
|
}
|
|
}
|
|
|
.toc-level-3 {
|
|
.toc-level-3 {
|
|
|
- padding-left: 30px;
|
|
|
|
|
- font-size: 0.81rem;
|
|
|
|
|
|
|
+ padding-left: 34px;
|
|
|
|
|
+ font-size: 0.78rem;
|
|
|
}
|
|
}
|
|
|
.toc-level-4 {
|
|
.toc-level-4 {
|
|
|
- padding-left: 40px;
|
|
|
|
|
- font-size: 0.8rem;
|
|
|
|
|
|
|
+ padding-left: 44px;
|
|
|
|
|
+ font-size: 0.78rem;
|
|
|
|
|
+}
|
|
|
|
|
+.toc-level-5 {
|
|
|
|
|
+ padding-left: 54px;
|
|
|
|
|
+ font-size: 0.78rem;
|
|
|
|
|
+}
|
|
|
|
|
+.toc-level-6 {
|
|
|
|
|
+ padding-left: 64px;
|
|
|
|
|
+ font-size: 0.78rem;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.toc-empty {
|
|
.toc-empty {
|
|
|
padding: 12px;
|
|
padding: 12px;
|
|
|
color: #656d76;
|
|
color: #656d76;
|
|
|
- font-size: 0.9rem;
|
|
|
|
|
|
|
+ font-size: 0.85rem;
|
|
|
font-style: italic;
|
|
font-style: italic;
|
|
|
text-align: center;
|
|
text-align: center;
|
|
|
}
|
|
}
|
|
@@ -822,10 +851,6 @@ body {
|
|
|
/* ==================== 响应式设计 ==================== */
|
|
/* ==================== 响应式设计 ==================== */
|
|
|
@media (max-width: 1024px) {
|
|
@media (max-width: 1024px) {
|
|
|
.right-sidebar {
|
|
.right-sidebar {
|
|
|
- position: fixed;
|
|
|
|
|
- right: 0;
|
|
|
|
|
- top: 0;
|
|
|
|
|
- height: 100vh;
|
|
|
|
|
z-index: 100;
|
|
z-index: 100;
|
|
|
box-shadow: -2px 0 8px rgba(0, 0, 0, 0.1);
|
|
box-shadow: -2px 0 8px rgba(0, 0, 0, 0.1);
|
|
|
}
|
|
}
|
|
@@ -840,6 +865,7 @@ body {
|
|
|
|
|
|
|
|
.content-area {
|
|
.content-area {
|
|
|
padding: 30px;
|
|
padding: 30px;
|
|
|
|
|
+ margin-right: 0;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
#toggle-right {
|
|
#toggle-right {
|
|
@@ -866,26 +892,20 @@ body {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.left-sidebar {
|
|
.left-sidebar {
|
|
|
- position: fixed;
|
|
|
|
|
- left: 0;
|
|
|
|
|
- top: 0;
|
|
|
|
|
- height: 100vh;
|
|
|
|
|
z-index: 100;
|
|
z-index: 100;
|
|
|
transform: translateX(-100%);
|
|
transform: translateX(-100%);
|
|
|
box-shadow: 2px 0 8px rgba(0, 0, 0, 0.1);
|
|
box-shadow: 2px 0 8px rgba(0, 0, 0, 0.1);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.right-sidebar {
|
|
.right-sidebar {
|
|
|
- position: fixed;
|
|
|
|
|
- right: 0;
|
|
|
|
|
- top: 0;
|
|
|
|
|
- height: 100vh;
|
|
|
|
|
z-index: 100;
|
|
z-index: 100;
|
|
|
box-shadow: -2px 0 8px rgba(0, 0, 0, 0.1);
|
|
box-shadow: -2px 0 8px rgba(0, 0, 0, 0.1);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.content-area {
|
|
.content-area {
|
|
|
padding: 20px;
|
|
padding: 20px;
|
|
|
|
|
+ margin-left: 0;
|
|
|
|
|
+ margin-right: 0;
|
|
|
width: 100%;
|
|
width: 100%;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -990,6 +1010,40 @@ body {
|
|
|
.nav-doc-name {
|
|
.nav-doc-name {
|
|
|
font-size: 1rem;
|
|
font-size: 1rem;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ /* TOC 移动端样式 */
|
|
|
|
|
+ .toc {
|
|
|
|
|
+ padding: 12px 12px 12px 12px;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .toc::before {
|
|
|
|
|
+ left: 16px;
|
|
|
|
|
+ top: 12px;
|
|
|
|
|
+ bottom: 12px;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .toc-link {
|
|
|
|
|
+ font-size: 0.78rem;
|
|
|
|
|
+ padding: 2px 0 2px 12px;
|
|
|
|
|
+ line-height: 1.4;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .toc-level-1 {
|
|
|
|
|
+ padding-left: 12px;
|
|
|
|
|
+ font-size: 0.78rem;
|
|
|
|
|
+ }
|
|
|
|
|
+ .toc-level-2 {
|
|
|
|
|
+ padding-left: 20px;
|
|
|
|
|
+ font-size: 0.75rem;
|
|
|
|
|
+ }
|
|
|
|
|
+ .toc-level-3 {
|
|
|
|
|
+ padding-left: 28px;
|
|
|
|
|
+ font-size: 0.75rem;
|
|
|
|
|
+ }
|
|
|
|
|
+ .toc-level-4 {
|
|
|
|
|
+ padding-left: 36px;
|
|
|
|
|
+ font-size: 0.75rem;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/* 悬浮操作按钮(通用样式) */
|
|
/* 悬浮操作按钮(通用样式) */
|
|
@@ -1167,21 +1221,24 @@ body {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-/* 移动端侧边栏 */
|
|
|
|
|
|
|
+/* 移动端侧边栏展开/收起 */
|
|
|
@media (max-width: 768px) {
|
|
@media (max-width: 768px) {
|
|
|
- .left-sidebar:not(.collapsed),
|
|
|
|
|
- .right-sidebar:not(.collapsed) {
|
|
|
|
|
- transform: translateX(0) !important;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
.left-sidebar.collapsed {
|
|
.left-sidebar.collapsed {
|
|
|
transform: translateX(-100%) !important;
|
|
transform: translateX(-100%) !important;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ .left-sidebar:not(.collapsed) {
|
|
|
|
|
+ transform: translateX(0) !important;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
.right-sidebar.collapsed {
|
|
.right-sidebar.collapsed {
|
|
|
transform: translateX(100%) !important;
|
|
transform: translateX(100%) !important;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ .right-sidebar:not(.collapsed) {
|
|
|
|
|
+ transform: translateX(0) !important;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
/* 移动端悬浮按钮调整 */
|
|
/* 移动端悬浮按钮调整 */
|
|
|
.floating-action-btn {
|
|
.floating-action-btn {
|
|
|
width: 45px !important;
|
|
width: 45px !important;
|