_card.css 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287
  1. /* resources/css/components/_card.css
  2. 全站通用卡片、侧边栏、列表组件。
  3. 从 _wiki.css 提取,供 wiki / tipitaka / anthology / search 共用。
  4. wiki 专属样式(质量徽章、条目头部、term popover 等)保留在 modules/_wiki.css。
  5. */
  6. /* ══════════════════════════════════════════
  7. 一、通用卡片
  8. ══════════════════════════════════════════ */
  9. .wiki-card {
  10. background: var(--tblr-bg-surface);
  11. border: 1px solid var(--tblr-border-color);
  12. border-radius: var(--tblr-border-radius-lg);
  13. padding: 1.5rem;
  14. }
  15. /* ══════════════════════════════════════════
  16. 二、侧边栏区块
  17. ══════════════════════════════════════════ */
  18. .wiki-sidebar-section {
  19. background: var(--tblr-bg-surface);
  20. border: 1px solid var(--tblr-border-color);
  21. border-radius: var(--tblr-border-radius-lg);
  22. padding: 1rem 1.125rem;
  23. margin-bottom: 1rem;
  24. }
  25. .wiki-sidebar-title {
  26. font-size: 0.6875rem;
  27. font-weight: 500;
  28. letter-spacing: 0.05em;
  29. text-transform: uppercase;
  30. color: var(--tblr-secondary);
  31. margin-bottom: 0.75rem;
  32. }
  33. /* ══════════════════════════════════════════
  34. 三、分类列表
  35. ══════════════════════════════════════════ */
  36. .wiki-cat-list {
  37. list-style: none;
  38. padding: 0;
  39. margin: 0;
  40. }
  41. .wiki-cat-list li {
  42. margin-bottom: 2px;
  43. }
  44. .wiki-cat-list a {
  45. display: flex;
  46. align-items: center;
  47. font-size: 0.8125rem;
  48. color: var(--tblr-body-color);
  49. text-decoration: none;
  50. padding: 5px 8px;
  51. border-radius: var(--tblr-border-radius);
  52. transition: background 0.12s;
  53. }
  54. .wiki-cat-list a:hover {
  55. background: var(--tblr-bg-surface-secondary);
  56. }
  57. .wiki-cat-list a.active {
  58. background: var(--tblr-bg-surface-secondary);
  59. font-weight: 500;
  60. color: var(--tblr-primary);
  61. }
  62. .wiki-cat-count {
  63. font-size: 0.6875rem;
  64. background: var(--tblr-bg-surface-secondary);
  65. border: 1px solid var(--tblr-border-color);
  66. border-radius: 20px;
  67. padding: 1px 7px;
  68. color: var(--tblr-secondary);
  69. margin-left: auto;
  70. flex-shrink: 0;
  71. }
  72. /* ══════════════════════════════════════════
  73. 四、TOC 列表
  74. ══════════════════════════════════════════ */
  75. .wiki-toc-list {
  76. list-style: none;
  77. padding: 0;
  78. margin: 0;
  79. }
  80. .wiki-toc-list li {
  81. border-bottom: 1px solid var(--tblr-border-color);
  82. }
  83. .wiki-toc-list li:last-child {
  84. border-bottom: none;
  85. }
  86. .wiki-toc-list a {
  87. display: block;
  88. font-size: 0.8125rem;
  89. color: var(--tblr-secondary);
  90. text-decoration: none;
  91. padding: 5px 0;
  92. transition: color 0.12s;
  93. }
  94. .wiki-toc-list a:hover { color: var(--tblr-body-color); }
  95. .wiki-toc-list a.active { color: var(--tblr-body-color); font-weight: 500; }
  96. .wiki-toc-list .toc-level-2 a { padding-left: 0.5rem; }
  97. .wiki-toc-list .toc-level-3 a { padding-left: 1rem; }
  98. .wiki-toc-num {
  99. color: var(--tblr-secondary);
  100. margin-right: 5px;
  101. font-size: 0.75rem;
  102. }
  103. /* ══════════════════════════════════════════
  104. 五、相关条目列表
  105. ══════════════════════════════════════════ */
  106. .wiki-related-list {
  107. list-style: none;
  108. padding: 0;
  109. margin: 0;
  110. }
  111. .wiki-related-list li {
  112. border-bottom: 1px solid var(--tblr-border-color);
  113. }
  114. .wiki-related-list li:last-child { border-bottom: none; }
  115. .wiki-related-list a {
  116. display: flex;
  117. justify-content: space-between;
  118. align-items: center;
  119. font-size: 0.8125rem;
  120. color: var(--tblr-primary);
  121. text-decoration: none;
  122. padding: 6px 0;
  123. }
  124. .wiki-related-zh {
  125. font-size: 0.75rem;
  126. color: var(--tblr-secondary);
  127. }
  128. /* ══════════════════════════════════════════
  129. 六、元信息表格
  130. ══════════════════════════════════════════ */
  131. .wiki-meta-table {
  132. width: 100%;
  133. font-size: 0.8125rem;
  134. border-collapse: collapse;
  135. }
  136. .wiki-meta-table td { padding: 3px 0; }
  137. .wiki-meta-table td:last-child {
  138. text-align: right;
  139. color: var(--tblr-secondary);
  140. }
  141. /* ══════════════════════════════════════════
  142. 七、条目头部(通用标题区)
  143. ══════════════════════════════════════════ */
  144. .wiki-entry-header { margin-bottom: 1.25rem; }
  145. .wiki-entry-title {
  146. font-family: "Noto Serif", Georgia, serif;
  147. font-size: 1.75rem;
  148. font-weight: 600;
  149. line-height: 1.25;
  150. margin: 0.375rem 0 0.75rem;
  151. color: var(--tblr-body-color);
  152. }
  153. /* ══════════════════════════════════════════
  154. 八、精选卡片网格(tipitaka index / wiki index 共用)
  155. ══════════════════════════════════════════ */
  156. .wiki-featured-grid {
  157. display: grid;
  158. grid-template-columns: repeat(3, minmax(0, 1fr));
  159. gap: 8px;
  160. }
  161. .wiki-featured-card {
  162. border: 1px solid var(--tblr-border-color);
  163. border-radius: var(--tblr-border-radius);
  164. padding: 10px 12px;
  165. cursor: pointer;
  166. text-decoration: none;
  167. display: block;
  168. transition: background 0.12s;
  169. color: var(--tblr-body-color);
  170. }
  171. .wiki-featured-card:hover {
  172. background: var(--tblr-bg-surface-secondary);
  173. color: var(--tblr-body-color);
  174. }
  175. .wiki-featured-label {
  176. font-size: 0.6875rem;
  177. font-weight: 500;
  178. text-transform: uppercase;
  179. letter-spacing: 0.05em;
  180. color: var(--tblr-secondary);
  181. margin-bottom: 5px;
  182. }
  183. .wiki-featured-title {
  184. font-size: 0.875rem;
  185. font-weight: 500;
  186. margin-bottom: 2px;
  187. }
  188. .wiki-featured-pali {
  189. font-size: 0.75rem;
  190. font-style: italic;
  191. color: var(--tblr-secondary);
  192. }
  193. @media (max-width: 768px) {
  194. .wiki-featured-grid {
  195. grid-template-columns: repeat(2, minmax(0, 1fr));
  196. }
  197. }
  198. /* ══════════════════════════════════════════
  199. 九、作者头像组件(从 _anthology.css 提取)
  200. ══════════════════════════════════════════ */
  201. .author-avatar {
  202. display: flex;
  203. align-items: center;
  204. gap: .5rem;
  205. }
  206. .author-avatar__img,
  207. .author-avatar__initials {
  208. border-radius: 50%;
  209. flex-shrink: 0;
  210. object-fit: cover;
  211. }
  212. .author-avatar--sm .author-avatar__img,
  213. .author-avatar--sm .author-avatar__initials { width: 24px; height: 24px; font-size: .65rem; }
  214. .author-avatar--md .author-avatar__img,
  215. .author-avatar--md .author-avatar__initials { width: 28px; height: 28px; font-size: .68rem; }
  216. .author-avatar--lg .author-avatar__img,
  217. .author-avatar--lg .author-avatar__initials { width: 48px; height: 48px; font-size: .95rem; }
  218. .author-avatar__initials {
  219. display: flex;
  220. align-items: center;
  221. justify-content: center;
  222. font-weight: 700;
  223. color: #fff;
  224. }
  225. .author-avatar__name {
  226. font-size: .8rem;
  227. color: var(--tblr-body-color);
  228. font-weight: 500;
  229. display: block;
  230. }
  231. .author-avatar--lg .author-avatar__name { font-size: .9rem; }
  232. .author-avatar__sub {
  233. font-size: .72rem;
  234. color: var(--tblr-secondary);
  235. display: block;
  236. }