diff --git a/alacarte-novel-website/reader.html b/alacarte-novel-website/reader.html index d5ab3b8..d3cf1d5 100644 --- a/alacarte-novel-website/reader.html +++ b/alacarte-novel-website/reader.html @@ -207,6 +207,98 @@ flex-direction: column; } + /* 移动端目录弹窗 */ + .toc-modal { + display: none; + position: fixed; + top: 0; left: 0; right: 0; bottom: 0; + background: rgba(0,0,0,0.8); + z-index: 2000; + justify-content: center; + align-items: center; + padding: 20px; + } + + .toc-modal.active { display: flex; } + + .toc-content { + background: var(--bg-primary); + border-radius: 12px; + border: 1px solid var(--border-color); + width: 100%; + max-width: 400px; + max-height: 80vh; + display: flex; + flex-direction: column; + overflow: hidden; + } + + .toc-header { + display: flex; + justify-content: space-between; + align-items: center; + padding: 15px 20px; + border-bottom: 1px solid var(--border-color); + } + + .toc-title { + font-size: 16px; + font-weight: 600; + color: var(--text-primary); + } + + .toc-close { + width: 32px; height: 32px; + border-radius: 8px; + background: var(--btn-bg); + border: 1px solid var(--border-color); + color: var(--text-primary); + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + font-size: 18px; + transition: all 0.3s ease; + } + + .toc-close:hover { background: var(--btn-hover); } + + .toc-list { + overflow-y: auto; + padding: 10px 20px 20px; + flex: 1; + } + + .toc-item { + display: block; + padding: 12px 0; + color: var(--text-secondary); + text-decoration: none; + font-size: 14px; + border-bottom: 1px solid var(--border-color); + transition: all 0.3s ease; + line-height: 1.5; + } + + .toc-item:hover { color: #667eea; } + .toc-item.current { color: #667eea; font-weight: 600; } + + /* 目录按钮(仅手机端显示) */ + .toc-btn { + display: none; + padding: 12px 20px; + background: var(--btn-bg); + border: 1px solid var(--border-color); + border-radius: 8px; + color: var(--text-primary); + font-family: 'Noto Sans SC', sans-serif; + font-size: 14px; + cursor: pointer; + transition: all 0.3s ease; + } + + .toc-btn:hover { background: var(--btn-hover); } + .sidebar-title { font-size: 14px; color: var(--text-secondary); @@ -262,6 +354,11 @@ @media (max-width: 1200px) { .sidebar { display: none; } } + @media (max-width: 768px) { + .toc-btn { display: block; } + .sidebar { display: none; } + } + @media (max-width: 600px) { .chapter-title { font-size: 24px; } .chapter-content { font-size: 16px; } @@ -293,11 +390,23 @@ + +