main.css 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537
  1. @charset "UTF-8";
  2. @font-face {
  3. font-family: 'ZhuqueFangsong';
  4. src: url("../fonts/ZhuqueFangsong-Regular.ttf") format("truetype");
  5. font-weight: normal;
  6. font-style: normal; }
  7. body {
  8. font-family: 'ZhuqueFangsong'; }
  9. *,
  10. *::before,
  11. *::after {
  12. margin: 0;
  13. padding: 0;
  14. box-sizing: border-box; }
  15. button {
  16. border: none;
  17. background: none; }
  18. a {
  19. text-decoration: none;
  20. color: inherit;
  21. outline: none;
  22. cursor: pointer; }
  23. a:hover,
  24. a:active {
  25. text-decoration: none; }
  26. ul, ol {
  27. list-style: none; }
  28. .dark .blog-body {
  29. background-color: #0f172a; }
  30. .dark .blog-body .bg-blur {
  31. background-color: rgba(31, 27, 36, 0.8); }
  32. .dark .blog-body .card {
  33. background-color: #0c1222; }
  34. .dark .blog-body .main-wrap .article-detail .typography {
  35. color: #ddd; }
  36. .dark .blog-body .main-wrap .comment-list .comment-text {
  37. background-color: #212529 !important; }
  38. body {
  39. padding: 0 !important;
  40. margin: 0 !important;
  41. position: relative;
  42. font-size: 15px;
  43. font-weight: normal;
  44. overflow-x: hidden !important;
  45. overflow-y: auto !important;
  46. color: var(--bs-body-color);
  47. transition: all 1s ease; }
  48. .blog-body .navbar {
  49. --bs-navbar-padding-x: 0;
  50. --bs-navbar-padding-y: 0;
  51. transition: .3s ease-out;
  52. box-shadow: 0 0.5rem 1rem rgba(18, 38, 63, 0.05);
  53. border: 1px solid rgba(17, 24, 39, 0.1); }
  54. .blog-body .navbar .container-fluid {
  55. height: 3rem; }
  56. .blog-body .navbar .container-fluid .nav-toggle,
  57. .blog-body .navbar .container-fluid .nav-search-button {
  58. width: 2.5rem;
  59. height: 100%; }
  60. .blog-body .sidebar-banner {
  61. position: relative;
  62. background-image: url("../images/wallhaven-qr9jml.jpg");
  63. background-position-x: center;
  64. background-position-y: center;
  65. background-size: cover;
  66. min-height: 120px;
  67. width: 100%;
  68. overflow: hidden;
  69. border-top-right-radius: 6px;
  70. border-top-left-radius: 6px; }
  71. .blog-body .sidebar-banner::after {
  72. content: "";
  73. width: 100%;
  74. height: 40%;
  75. position: absolute;
  76. bottom: 0;
  77. left: 0;
  78. background: linear-gradient(to top, var(--bs-white), transparent); }
  79. .blog-body .sidebar-avatar {
  80. position: absolute;
  81. left: 50%;
  82. transform: translateX(-50%) translateY(-50%);
  83. border: rgba(255, 255, 255, 0.4) 4px solid;
  84. width: 68px;
  85. height: 68px;
  86. border-radius: 50%; }
  87. .blog-body .sidebar-sign {
  88. padding-left: .75rem;
  89. padding-right: .75rem;
  90. margin-bottom: 1rem;
  91. font-size: .875rem;
  92. line-height: 1.5rem;
  93. letter-spacing: .05em;
  94. text-align: center; }
  95. .blog-body .offcanvas {
  96. height: 100vh;
  97. max-width: 78%; }
  98. .blog-body .offcanvas.offcanvas-start {
  99. top: -1px;
  100. left: -1px; }
  101. .blog-body .offcanvas .offcanvas-body {
  102. padding: 0; }
  103. .blog-body .hero-box {
  104. position: relative;
  105. height: 730px;
  106. background-image: url("../images/acg.jpg");
  107. background-position-x: center;
  108. background-position-y: center;
  109. background-size: cover; }
  110. .blog-body .hero-box::before {
  111. content: "";
  112. position: absolute;
  113. top: 0;
  114. left: 0;
  115. width: 100%;
  116. height: 100%;
  117. background: rgba(0, 0, 0, 0.2); }
  118. .blog-body .mode_switcher.my_switcher {
  119. position: fixed;
  120. right: -50px;
  121. top: 100px;
  122. z-index: 9999999;
  123. transition: 0.3s; }
  124. .blog-body .mode_switcher.my_switcher:hover {
  125. right: 0; }
  126. .blog-body .mode_switcher.my_switcher button {
  127. display: flex;
  128. font-size: 20px;
  129. background: #5F2DED;
  130. padding: 10px;
  131. line-height: 20px;
  132. border-top-left-radius: 10px;
  133. border-bottom-left-radius: 10px;
  134. width: 90px;
  135. box-shadow: 0px 6px 34px rgba(215, 216, 222, 0.15);
  136. border: none; }
  137. .blog-body .main-wrap .article-list .article-item {
  138. display: flex;
  139. overflow: hidden;
  140. position: relative;
  141. background-color: #fff;
  142. height: 10rem;
  143. border-radius: var(--bs-border-radius);
  144. border-width: 1px;
  145. margin-bottom: 1rem; }
  146. .blog-body .main-wrap .article-list .article-item .blur-img {
  147. z-index: 0; }
  148. .blog-body .main-wrap .article-list .article-item .blur-img img {
  149. object-fit: cover;
  150. position: absolute;
  151. top: 0;
  152. right: 0;
  153. bottom: 0;
  154. left: 0;
  155. width: 100%;
  156. height: 14.5rem;
  157. transform: scale(1.55); }
  158. .blog-body .main-wrap .article-list .article-item.flex-row-reverse .article-img {
  159. clip-path: polygon(6% 0, 100% 0, 100% 100%, 0 100%); }
  160. .blog-body .main-wrap .article-list .article-item .article-img {
  161. z-index: 10;
  162. margin: 0;
  163. width: 33.333333%;
  164. border-width: 0;
  165. clip-path: polygon(0 0, 100% 0, 94% 100%, 0 100%); }
  166. .blog-body .main-wrap .article-list .article-item .article-img .article-left-img {
  167. object-fit: cover;
  168. background-position: center;
  169. background-size: cover;
  170. width: 100%;
  171. height: 100%; }
  172. .blog-body .main-wrap .article-list .article-item .article-ctx {
  173. display: flex;
  174. z-index: 10;
  175. padding: 1.25rem 1rem;
  176. color: #fff;
  177. flex-direction: column;
  178. justify-content: space-between;
  179. width: 100%;
  180. background-color: rgba(0, 0, 0, 0.35); }
  181. .blog-body .main-wrap .article-list .article-item .article-ctx .article-info {
  182. display: flex;
  183. font-size: .75rem;
  184. line-height: 1rem;
  185. justify-content: space-between;
  186. letter-spacing: .06rem;
  187. text-shadow: 0 0.1875rem 0.3125rem rgba(0, 0, 0, 0.3); }
  188. .blog-body .main-wrap .article-list .article-item .article-ctx .article-title {
  189. font-weight: 700;
  190. display: -webkit-box;
  191. -webkit-box-orient: vertical;
  192. -webkit-line-clamp: 1;
  193. font-size: 20px;
  194. line-height: 1.75rem;
  195. letter-spacing: .05em;
  196. color: #fff;
  197. overflow: hidden; }
  198. .blog-body .main-wrap .article-list .article-item .article-ctx .article-description {
  199. display: -webkit-box;
  200. -webkit-box-orient: vertical;
  201. -webkit-line-clamp: 2;
  202. font-size: 12px;
  203. text-indent: 2em;
  204. line-height: 1.5rem;
  205. word-break: break-all;
  206. overflow: hidden;
  207. color: #fff; }
  208. .blog-body .main-wrap #NextButton {
  209. width: auto;
  210. padding-left: 3rem;
  211. padding-right: 3rem; }
  212. .blog-body .main-wrap .article-detail .tag .tag-item {
  213. color: #0d6efd !important;
  214. background-color: rgba(13, 110, 253, 0.1) !important; }
  215. .blog-body .main-wrap .article-detail .typography {
  216. color: #2c2e3b;
  217. font-size: 15px;
  218. line-height: 1.5; }
  219. .blog-body .main-wrap .article-detail .copyright {
  220. padding: 1rem;
  221. margin-top: 1.5rem;
  222. line-height: 1.5rem;
  223. border-radius: .25rem; }
  224. .blog-body .main-wrap .article-detail .copyright .copyright-text {
  225. word-break: break-all; }
  226. .blog-body .main-wrap .ssbox .ss-list {
  227. padding-left: 0; }
  228. .blog-body .main-wrap .ssbox .ss-list .ss-content .ss-datetime {
  229. display: flex;
  230. width: 16px;
  231. line-height: 18px;
  232. font-size: 18px;
  233. text-align: center;
  234. border-right: 1px solid var(--bs-border-color);
  235. padding: 0 22px 8px 0;
  236. float: left;
  237. margin-right: 1rem;
  238. overflow: hidden;
  239. max-height: 100px; }
  240. .blog-body .main-wrap .ssbox .ss-list .ss-content .ss-data-content {
  241. margin: 0 0 0 3.2rem;
  242. min-height: 88px; }
  243. .blog-body .main-wrap .pigeonhole .icon {
  244. width: auto;
  245. height: auto;
  246. font-size: 12px; }
  247. .blog-body .main-wrap .pigeonhole .accordion-button:focus {
  248. box-shadow: none; }
  249. .blog-body .main-wrap .pigeonhole .accordion-item {
  250. margin-bottom: 10px; }
  251. .blog-body .main-wrap .pigeonhole .accordion-item:last-child {
  252. margin-bottom: 0; }
  253. .blog-body .main-wrap .pigeonhole .accordion-item:not(:first-of-type) {
  254. border-top: 1px solid var(--bs-border-color); }
  255. .blog-body .main-wrap .comment-list {
  256. display: flex;
  257. flex-direction: column;
  258. align-self: stretch;
  259. padding: 0px;
  260. margin: 0px;
  261. flex: 1 1 auto;
  262. gap: 1.5rem; }
  263. .blog-body .main-wrap .comment-list .content {
  264. font-size: 14px; }
  265. .blog-body .main-wrap .comment-list .content .comment-text {
  266. font-size: 14px;
  267. line-height: 1.5;
  268. background-color: #f4f6fb;
  269. overflow-wrap: break-word;
  270. word-break: break-all;
  271. margin: 0.5rem 0px;
  272. padding: 0.5rem 0.75rem;
  273. border-radius: 2px; }
  274. .blog-body .main-wrap .comment-list .comment-di .comment-inner img {
  275. width: 45px;
  276. height: 45px;
  277. border-radius: 999px; }
  278. .blog-body .main-wrap .comment-list .comment-quote {
  279. padding-left: 2rem; }
  280. .blog-body .main-wrap .comment-list .common-child .common-child-item {
  281. margin-top: 1rem; }
  282. .blog-body .main-wrap .comment-list .common-child .common-child-item .avatar {
  283. width: 35px;
  284. height: 35px;
  285. border-radius: 999px; }
  286. .blog-body .main-wrap .friendship-links .friend-link-card {
  287. transition: transform 0.3s ease, box-shadow 0.3s ease; }
  288. .blog-body .main-wrap .friendship-links .friend-link-card:hover {
  289. transform: translateY(-5px);
  290. box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); }
  291. .blog-body .main-wrap .friendship-links .friend-link-avatar {
  292. width: 80px;
  293. height: 80px;
  294. object-fit: cover;
  295. border: 3px solid rgba(13, 110, 253, 0.2); }
  296. .blog-body .main-wrap .friendship-links .card {
  297. border-radius: var(--bs-border-radius);
  298. border: 1px solid var(--bs-border-color); }
  299. .blog-body .main-wrap .friendship-links .card-header {
  300. background-color: rgba(0, 0, 0, 0.03);
  301. border-bottom: 1px solid var(--bs-border-color); }
  302. .blog-body .tools {
  303. display: none;
  304. position: fixed;
  305. right: 1.25rem;
  306. bottom: 1.25rem;
  307. z-index: 1045;
  308. margin-top: .25rem;
  309. flex-direction: column; }
  310. .blog-body .tools .backup-btn {
  311. cursor: pointer;
  312. width: 50px;
  313. height: 50px;
  314. line-height: 50px;
  315. background-color: var(--bs-secondary-bg);
  316. right: 20px;
  317. bottom: 60px;
  318. text-align: center;
  319. overflow: hidden;
  320. border-radius: 50px;
  321. z-index: 9811 !important;
  322. position: fixed;
  323. display: block;
  324. box-shadow: 0px 10px 50px rgba(13, 38, 59, 0.15); }
  325. .blog-body .tools .backup-btn i {
  326. width: 100%;
  327. display: block;
  328. line-height: 50px;
  329. font-size: 20px;
  330. transition: 0.5s; }
  331. .blog-body .footer {
  332. border-top-width: 1px;
  333. border-top-style: solid;
  334. border-color: var(--bs-border-color);
  335. line-height: 1.8rem;
  336. letter-spacing: .3px; }
  337. @media screen and (max-width: 576px) {
  338. .blog-body .hero-box {
  339. height: 20rem; }
  340. .blog-body .main-wrap .ssbox .ss-list {
  341. padding-left: 0; }
  342. .blog-body .main-wrap .ssbox .ss-list .ss-data-content {
  343. margin: 0 0 0 2.5rem; } }
  344. @media screen and (min-width: 768px) {
  345. .blog-body .main-wrap .article-list .article-item {
  346. background-color: #000;
  347. border-width: 0;
  348. height: 14.5rem; }
  349. .blog-body .main-wrap .article-list .article-item .blur-img img {
  350. filter: blur(1.875rem) brightness(0.75); }
  351. .blog-body .main-wrap .article-list .article-item .article-ctx {
  352. background-color: unset;
  353. padding: 3rem 2rem;
  354. width: 66.666667%; } }
  355. [class^="fa-"], [class*=" fa-"] {
  356. vertical-align: middle; }
  357. img {
  358. display: block;
  359. max-width: 100%;
  360. height: auto;
  361. vertical-align: middle; }
  362. .has-img {
  363. backdrop-filter: blur(8px); }
  364. .bg-blur {
  365. background: rgba(255, 255, 255, 0.9);
  366. -webkit-backdrop-filter: saturate(200%) blur(20px);
  367. backdrop-filter: saturate(200%) blur(20px); }
  368. .text-xs {
  369. font-size: .75rem; }
  370. .icon {
  371. font-size: 1rem;
  372. width: 1rem;
  373. height: 1rem;
  374. fill: currentColor;
  375. overflow: hidden;
  376. flex-shrink: 0; }
  377. :root {
  378. scroll-behavior: auto; }
  379. html::-webkit-scrollbar, body::-webkit-scrollbar {
  380. width: 6px;
  381. height: 6px; }
  382. html::-webkit-scrollbar-corner, body::-webkit-scrollbar-corner {
  383. background: unset; }
  384. html::-webkit-scrollbar-thumb, body::-webkit-scrollbar-thumb {
  385. background: rgba(135, 135, 135, 0.4);
  386. border-radius: 6px; }
  387. html::-webkit-scrollbar-track, body::-webkit-scrollbar-track {
  388. background: rgba(135, 135, 135, 0.1); }
  389. .dark html::-webkit-scrollbar-thumb, .dark body::-webkit-scrollbar-thumb {
  390. background: rgba(135, 135, 135, 0.6); }
  391. .dark html::-webkit-scrollbar-track, .dark body::-webkit-scrollbar-track {
  392. background: rgba(135, 135, 135, 0.2); }
  393. .blog-body .article-detail .article-meta {
  394. background-color: var(--bs-light);
  395. padding: 0.75rem 1rem;
  396. border-radius: 0.375rem;
  397. margin: 1rem 0; }
  398. .blog-body .article-detail .article-meta .meta-item {
  399. display: flex;
  400. align-items: center;
  401. gap: 0.5rem; }
  402. .blog-body .article-detail .tag .tag-item {
  403. color: #0d6efd !important;
  404. background-color: rgba(13, 110, 253, 0.1) !important;
  405. text-decoration: none; }
  406. .blog-body .article-detail .tag .tag-item:hover {
  407. background-color: rgba(13, 110, 253, 0.2) !important; }
  408. .blog-body .article-detail .copyright {
  409. padding: 1rem;
  410. margin-top: 1.5rem;
  411. line-height: 1.5rem;
  412. border-radius: .25rem;
  413. background-color: var(--bs-light); }
  414. .blog-body .article-detail .copyright .copyright-text {
  415. word-break: break-all; }
  416. .blog-body .toc-container {
  417. position: sticky;
  418. top: 100px;
  419. max-height: calc(100vh - 120px);
  420. overflow-y: auto;
  421. padding: 1rem 0; }
  422. .blog-body .toc-container .toc-header {
  423. padding: 0.5rem 1rem;
  424. font-weight: 600;
  425. border-bottom: 1px solid var(--bs-border-color);
  426. margin-bottom: 0.5rem; }
  427. .blog-body .toc-container .toc-nav a {
  428. display: block;
  429. color: var(--bs-secondary-color);
  430. text-decoration: none;
  431. padding: 0.25rem 1rem;
  432. border-left: 2px solid transparent;
  433. transition: all 0.2s;
  434. font-size: 0.875rem; }
  435. .blog-body .toc-container .toc-nav a:hover {
  436. color: var(--bs-primary);
  437. border-left-color: var(--bs-primary);
  438. background-color: rgba(13, 110, 253, 0.05); }
  439. .blog-body .toc-container .toc-nav a.active {
  440. color: var(--bs-primary);
  441. border-left-color: var(--bs-primary);
  442. font-weight: 500; }
  443. .blog-body .share-section {
  444. padding: 1rem 0; }
  445. .blog-body .share-section .share-button {
  446. display: inline-flex;
  447. align-items: center;
  448. justify-content: center;
  449. width: 36px;
  450. height: 36px;
  451. border-radius: 50%;
  452. color: var(--bs-body-color);
  453. background-color: var(--bs-light);
  454. transition: all 0.3s; }
  455. .blog-body .share-section .share-button:hover {
  456. background-color: var(--bs-primary);
  457. color: white; }
  458. .blog-body .article-navigation .prev-article,
  459. .blog-body .article-navigation .next-article {
  460. flex: 1; }
  461. .blog-body .article-navigation .prev-article a,
  462. .blog-body .article-navigation .next-article a {
  463. color: var(--bs-body-color);
  464. text-decoration: none; }
  465. .blog-body .article-navigation .prev-article a:hover,
  466. .blog-body .article-navigation .next-article a:hover {
  467. color: var(--bs-primary); }
  468. .blog-body .comments-section .comment-form {
  469. background-color: var(--bs-light);
  470. padding: 1.5rem;
  471. border-radius: 0.375rem; }
  472. .blog-body .comments-section .comment-item {
  473. padding: 1rem 0; }
  474. .blog-body .comments-section .comment-item:not(:last-child) {
  475. border-bottom: 1px solid var(--bs-border-color); }
  476. .toc-container::-webkit-scrollbar {
  477. width: 6px; }
  478. .toc-container::-webkit-scrollbar-thumb {
  479. background: rgba(135, 135, 135, 0.4);
  480. border-radius: 6px; }
  481. .toc-container::-webkit-scrollbar-track {
  482. background: rgba(135, 135, 135, 0.1); }
  483. @media (max-width: 991.98px) {
  484. .toc-container {
  485. position: static;
  486. max-height: none;
  487. overflow-y: visible;
  488. margin-top: 1.5rem; } }
  489. /* 评论区域样式 */
  490. .comments-section {
  491. margin-top: 2rem; }
  492. .comment-item {
  493. padding: 1rem 0; }
  494. .comment-item:not(:last-child) {
  495. border-bottom: 1px solid #eee; }
  496. .comment-form .form-control {
  497. border-radius: 0.375rem; }
  498. .comment-form .btn {
  499. border-radius: 0.375rem; }
  500. /* 回复评论的样式 */
  501. .comment-item .comment-item {
  502. padding-left: 1rem;
  503. margin-top: 1rem; }
  504. /* 响应式调整 */
  505. @media (max-width: 768px) {
  506. .comment-item .comment-item {
  507. margin-left: 1rem; } }
  508. /*# sourceMappingURL=main.css.map */