2
0

_card.css 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310
  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 {
  95. color: var(--tblr-body-color);
  96. }
  97. .wiki-toc-list a.active {
  98. color: var(--tblr-body-color);
  99. font-weight: 500;
  100. }
  101. .wiki-toc-list .toc-level-2 a {
  102. padding-left: 0.5rem;
  103. }
  104. .wiki-toc-list .toc-level-3 a {
  105. padding-left: 1rem;
  106. }
  107. /* ══════════════════════════════════════════
  108. 五、相关条目列表
  109. ══════════════════════════════════════════ */
  110. .wiki-related-list {
  111. list-style: none;
  112. padding: 0;
  113. margin: 0;
  114. }
  115. .wiki-related-list li {
  116. border-bottom: 1px solid var(--tblr-border-color);
  117. }
  118. .wiki-related-list li:last-child {
  119. border-bottom: none;
  120. }
  121. .wiki-related-list a {
  122. display: flex;
  123. justify-content: space-between;
  124. align-items: center;
  125. font-size: 0.8125rem;
  126. color: var(--tblr-primary);
  127. text-decoration: none;
  128. padding: 6px 0;
  129. }
  130. .wiki-related-zh {
  131. font-size: 0.75rem;
  132. color: var(--tblr-secondary);
  133. }
  134. /* ══════════════════════════════════════════
  135. 六、元信息表格
  136. ══════════════════════════════════════════ */
  137. .wiki-meta-table {
  138. width: 100%;
  139. font-size: 0.8125rem;
  140. border-collapse: collapse;
  141. }
  142. .wiki-meta-table td {
  143. padding: 3px 0;
  144. }
  145. .wiki-meta-table td:last-child {
  146. text-align: right;
  147. color: var(--tblr-secondary);
  148. }
  149. /* ══════════════════════════════════════════
  150. 七、条目头部(通用标题区)
  151. ══════════════════════════════════════════ */
  152. .wiki-entry-header {
  153. margin-bottom: 1.25rem;
  154. }
  155. .wiki-entry-title {
  156. font-family: 'Noto Serif', Georgia, serif;
  157. font-size: 1.75rem;
  158. font-weight: 600;
  159. line-height: 1.25;
  160. margin: 0.375rem 0 0.75rem;
  161. color: var(--tblr-body-color);
  162. }
  163. /* ══════════════════════════════════════════
  164. 八、精选卡片网格(tipitaka index / wiki index 共用)
  165. ══════════════════════════════════════════ */
  166. .wiki-featured-grid {
  167. display: grid;
  168. grid-template-columns: repeat(3, minmax(0, 1fr));
  169. gap: 8px;
  170. }
  171. .wiki-featured-card {
  172. border: 1px solid var(--tblr-border-color);
  173. border-radius: var(--tblr-border-radius);
  174. padding: 10px 12px;
  175. cursor: pointer;
  176. text-decoration: none;
  177. display: block;
  178. transition: background 0.12s;
  179. color: var(--tblr-body-color);
  180. }
  181. .wiki-featured-card:hover {
  182. background: var(--tblr-bg-surface-secondary);
  183. color: var(--tblr-body-color);
  184. }
  185. .wiki-featured-label {
  186. font-size: 0.6875rem;
  187. font-weight: 500;
  188. text-transform: uppercase;
  189. letter-spacing: 0.05em;
  190. color: var(--tblr-secondary);
  191. margin-bottom: 5px;
  192. }
  193. .wiki-featured-title {
  194. font-size: 0.875rem;
  195. font-weight: 500;
  196. margin-bottom: 2px;
  197. }
  198. .wiki-featured-pali {
  199. font-size: 0.75rem;
  200. font-style: italic;
  201. color: var(--tblr-secondary);
  202. }
  203. @media (max-width: 768px) {
  204. .wiki-featured-grid {
  205. grid-template-columns: repeat(2, minmax(0, 1fr));
  206. }
  207. }
  208. /* ══════════════════════════════════════════
  209. 九、作者头像组件(从 _anthology.css 提取)
  210. ══════════════════════════════════════════ */
  211. .author-avatar {
  212. display: flex;
  213. align-items: center;
  214. gap: 0.5rem;
  215. }
  216. .author-avatar__img,
  217. .author-avatar__initials {
  218. border-radius: 50%;
  219. flex-shrink: 0;
  220. object-fit: cover;
  221. }
  222. .author-avatar--sm .author-avatar__img,
  223. .author-avatar--sm .author-avatar__initials {
  224. width: 24px;
  225. height: 24px;
  226. font-size: 0.65rem;
  227. }
  228. .author-avatar--md .author-avatar__img,
  229. .author-avatar--md .author-avatar__initials {
  230. width: 28px;
  231. height: 28px;
  232. font-size: 0.68rem;
  233. }
  234. .author-avatar--lg .author-avatar__img,
  235. .author-avatar--lg .author-avatar__initials {
  236. width: 48px;
  237. height: 48px;
  238. font-size: 0.95rem;
  239. }
  240. .author-avatar__initials {
  241. display: flex;
  242. align-items: center;
  243. justify-content: center;
  244. font-weight: 700;
  245. color: #fff;
  246. }
  247. .author-avatar__name {
  248. font-size: 0.8rem;
  249. color: var(--tblr-body-color);
  250. font-weight: 500;
  251. display: block;
  252. }
  253. .author-avatar--lg .author-avatar__name {
  254. font-size: 0.9rem;
  255. }
  256. .author-avatar__sub {
  257. font-size: 0.72rem;
  258. color: var(--tblr-secondary);
  259. display: block;
  260. }