|
@@ -0,0 +1,238 @@
|
|
|
|
|
+/* resources/css/reader.css */
|
|
|
|
|
+
|
|
|
|
|
+/* 基础样式 */
|
|
|
|
|
+body {
|
|
|
|
|
+ font-family: "Inter", sans-serif;
|
|
|
|
|
+ transition: background-color 0.3s, color 0.3s;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.main-container {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ gap: 20px;
|
|
|
|
|
+ padding: 20px;
|
|
|
|
|
+ max-width: 1400px;
|
|
|
|
|
+ margin: 0 auto;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.toc-sidebar {
|
|
|
|
|
+ width: 250px;
|
|
|
|
|
+ flex-shrink: 0;
|
|
|
|
|
+ display: none;
|
|
|
|
|
+ position: sticky;
|
|
|
|
|
+ top: 0;
|
|
|
|
|
+ height: 100vh;
|
|
|
|
|
+ overflow-y: auto;
|
|
|
|
|
+ overflow-x: hidden;
|
|
|
|
|
+ scrollbar-width: thin;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.toc-sidebar .card-body {
|
|
|
|
|
+ height: 100%;
|
|
|
|
|
+ overflow-y: auto;
|
|
|
|
|
+ overflow-x: hidden;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.content-area {
|
|
|
|
|
+ flex-grow: 1;
|
|
|
|
|
+ max-width: 100%;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.right-sidebar {
|
|
|
|
|
+ width: 300px;
|
|
|
|
|
+ flex-shrink: 0;
|
|
|
|
|
+ display: none;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.related-books {
|
|
|
|
|
+ margin-top: 30px;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.card-img-container {
|
|
|
|
|
+ height: 150px;
|
|
|
|
|
+ overflow: hidden;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.card-img-container img {
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ height: 100%;
|
|
|
|
|
+ object-fit: cover;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/* 响应式布局 */
|
|
|
|
|
+@media (max-width: 767px) {
|
|
|
|
|
+ .content-area {
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .main-container {
|
|
|
|
|
+ padding: 0;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .card {
|
|
|
|
|
+ border: none;
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+@media (min-width: 768px) {
|
|
|
|
|
+ .toc-sidebar {
|
|
|
|
|
+ display: block;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .content-area {
|
|
|
|
|
+ max-width: calc(100% - 270px);
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+@media (min-width: 992px) {
|
|
|
|
|
+ .right-sidebar {
|
|
|
|
|
+ display: block;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .content-area {
|
|
|
|
|
+ max-width: calc(100% - 570px);
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/* 暗色模式 */
|
|
|
|
|
+.dark-mode {
|
|
|
|
|
+ background-color: #1a1a1a;
|
|
|
|
|
+ color: #ffffff;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.dark-mode .card {
|
|
|
|
|
+ background-color: #2a2a2a;
|
|
|
|
|
+ border-color: #3a3a3a;
|
|
|
|
|
+ color: #ffffff;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.dark-mode .navbar {
|
|
|
|
|
+ background-color: #2a2a2a;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.dark-mode .offcanvas {
|
|
|
|
|
+ background-color: #2a2a2a;
|
|
|
|
|
+ color: #ffffff;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.dark-mode .offcanvas .nav-link {
|
|
|
|
|
+ color: #ffffff;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.dark-mode .toc-sidebar,
|
|
|
|
|
+.dark-mode .right-sidebar {
|
|
|
|
|
+ background-color: #2a2a2a;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/* 目录样式 */
|
|
|
|
|
+.toc-sidebar ul,
|
|
|
|
|
+.offcanvas-body ul {
|
|
|
|
|
+ list-style: none;
|
|
|
|
|
+ padding: 0;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.toc-sidebar ul li,
|
|
|
|
|
+.offcanvas-body ul li {
|
|
|
|
|
+ padding: 5px 0;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.toc-sidebar ul li a,
|
|
|
|
|
+.offcanvas-body ul li a {
|
|
|
|
|
+ color: #206bc4;
|
|
|
|
|
+ text-decoration: none;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.toc-sidebar ul li a:hover {
|
|
|
|
|
+ text-decoration: none;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.offcanvas-body ul li a:hover {
|
|
|
|
|
+ text-decoration: underline;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.dark-mode .toc-sidebar ul li a,
|
|
|
|
|
+.dark-mode .offcanvas-body ul li a {
|
|
|
|
|
+ color: #4dabf7;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.toc-level-1 {
|
|
|
|
|
+ padding-left: 0 !important;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.toc-level-2 {
|
|
|
|
|
+ padding-left: 16px !important;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.toc-level-3 {
|
|
|
|
|
+ padding-left: 24px !important;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.toc-level-4 {
|
|
|
|
|
+ padding-left: 36px !important;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.toc-disabled {
|
|
|
|
|
+ color: #6c757d;
|
|
|
|
|
+ cursor: not-allowed;
|
|
|
|
|
+ pointer-events: none;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.dark-mode .toc-disabled {
|
|
|
|
|
+ color: #adb5bd;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.toc_item {
|
|
|
|
|
+ white-space: nowrap;
|
|
|
|
|
+ overflow: hidden;
|
|
|
|
|
+ text-overflow: ellipsis;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.toc_item:hover {
|
|
|
|
|
+ color: #206bc4 !important;
|
|
|
|
|
+ background: rgba(32, 107, 196, 0.15);
|
|
|
|
|
+ border-radius: 2px;
|
|
|
|
|
+ cursor: pointer;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.toc_item a,
|
|
|
|
|
+.toc_item span {
|
|
|
|
|
+ display: block;
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ white-space: nowrap;
|
|
|
|
|
+ overflow: hidden;
|
|
|
|
|
+ text-overflow: ellipsis;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.toc-active {
|
|
|
|
|
+ color: #206bc4 !important;
|
|
|
|
|
+ font-weight: 600;
|
|
|
|
|
+ background: rgba(32, 107, 196, 0.08);
|
|
|
|
|
+ border-left: 3px solid #206bc4;
|
|
|
|
|
+ border-radius: 2px;
|
|
|
|
|
+ cursor: default;
|
|
|
|
|
+ pointer-events: none;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.dark-mode .toc-active {
|
|
|
|
|
+ color: #4dabf7 !important;
|
|
|
|
|
+ background: rgba(77, 171, 247, 0.1);
|
|
|
|
|
+ border-left-color: #4dabf7;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.origin {
|
|
|
|
|
+ color: darkred;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/* 术语引用样式 */
|
|
|
|
|
+.term-ref {
|
|
|
|
|
+ cursor: pointer;
|
|
|
|
|
+ text-decoration: underline dotted;
|
|
|
|
|
+ text-underline-offset: 4px;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.term_invalid {
|
|
|
|
|
+ color: red;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.term-ref:hover {
|
|
|
|
|
+ color: var(--tblr-primary);
|
|
|
|
|
+}
|