main.css 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668
  1. /* DragonOS镜像站首页样式 */
  2. #wrapper {
  3. margin: 0 5%;
  4. padding: 0 1rem;
  5. overflow-x: hidden;
  6. position: relative;
  7. width: 90%;
  8. max-width: 90%;
  9. }
  10. :root {
  11. --dragon-light-blue: #4da6ff; /* 亮蓝 */
  12. --dragon-dark-blue: #1a56db; /* 深蓝 */
  13. --dragon-purple: #db34d3; /* 粉紫 */
  14. --dragon-dark: #111827;
  15. --dragon-light: #f3f4f6;
  16. }
  17. body {
  18. background: linear-gradient(135deg, var(--dragon-light) 0%, #e5e7eb 100%);
  19. font-family: "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  20. margin: 0;
  21. padding: 2rem;
  22. color: var(--dragon-dark);
  23. min-height: 100vh;
  24. }
  25. /* 保持原有加载动画 */
  26. .is-preload {
  27. opacity: 0;
  28. transition: opacity 0.5s ease-in-out;
  29. }
  30. .is-preload.is-loaded {
  31. opacity: 1;
  32. }
  33. /* 添加页面滚动时的固定导航栏 */
  34. #nav {
  35. position: relative;
  36. top: 0;
  37. width: 100%;
  38. z-index: 1000;
  39. background-color: #fff;
  40. padding: 1rem;
  41. box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  42. }
  43. /* 为导航栏链接添加更多悬停效果 */
  44. #nav ul li a:hover {
  45. background-color: #e0e0e0;
  46. border-radius: 4px;
  47. color: #333;
  48. text-decoration: underline;
  49. }
  50. #header {
  51. background: linear-gradient(
  52. 135deg,
  53. rgba(255, 255, 255, 0.9) 0%,
  54. rgba(255, 255, 255, 0.7) 100%
  55. ),
  56. url("https://dragonos.org/wp-content/uploads/2023/03/图形中英文完整@0.5x-1024x275.png")
  57. no-repeat center center/cover;
  58. padding: 6rem 0;
  59. text-align: center;
  60. animation: fadeIn 1s ease-in-out;
  61. border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  62. position: relative;
  63. z-index: 1;
  64. }
  65. #header::before {
  66. content: "";
  67. position: absolute;
  68. top: 0;
  69. left: 0;
  70. right: 0;
  71. bottom: 0;
  72. background: rgba(255, 255, 255, 0.7);
  73. z-index: -1;
  74. }
  75. /* 定义淡入动画 */
  76. @keyframes fadeIn {
  77. from {
  78. opacity: 0;
  79. }
  80. to {
  81. opacity: 1;
  82. }
  83. }
  84. #header h1 {
  85. font-size: 3rem;
  86. color: var(--dragon-dark-blue);
  87. margin: 0;
  88. font-weight: 700;
  89. animation: slideInDown 0.8s ease-out;
  90. text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  91. letter-spacing: -0.5px;
  92. line-height: 1.2;
  93. }
  94. /* 定义下滑动画 */
  95. @keyframes slideInDown {
  96. from {
  97. transform: translateY(-20px);
  98. opacity: 0;
  99. }
  100. to {
  101. transform: translateY(0);
  102. opacity: 1;
  103. }
  104. }
  105. #header p {
  106. font-size: 1.5rem;
  107. color: #6b7280;
  108. margin: 1rem 0 0;
  109. animation: fadeInUp 1s ease-out;
  110. font-weight: 500;
  111. max-width: 800px;
  112. margin-left: auto;
  113. margin-right: auto;
  114. line-height: 1.5;
  115. }
  116. /* 定义淡入上滑动画 */
  117. @keyframes fadeInUp {
  118. from {
  119. transform: translateY(20px);
  120. opacity: 0;
  121. }
  122. to {
  123. transform: translateY(0);
  124. opacity: 1;
  125. }
  126. }
  127. #nav {
  128. background: rgba(255, 255, 255, 0.95);
  129. padding: 0.8rem 0;
  130. box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
  131. backdrop-filter: blur(10px);
  132. border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  133. }
  134. #nav ul {
  135. list-style: none;
  136. margin: 0;
  137. padding: 0;
  138. display: flex;
  139. justify-content: center;
  140. align-items: center;
  141. gap: 0.5rem;
  142. width: 100%;
  143. }
  144. #nav ul li {
  145. flex-grow: 0;
  146. flex-shrink: 0;
  147. }
  148. #nav ul li {
  149. position: relative;
  150. }
  151. #nav ul li a {
  152. text-decoration: none;
  153. color: var(--dragon-dark-blue);
  154. font-weight: 600;
  155. padding: 0.5rem 1rem;
  156. transition: all 0.3s ease;
  157. position: relative;
  158. }
  159. #nav ul li a::after {
  160. content: "";
  161. position: absolute;
  162. bottom: 0;
  163. left: 0;
  164. width: 0;
  165. height: 2px;
  166. background: linear-gradient(
  167. 90deg,
  168. var(--dragon-dark-blue),
  169. var(--dragon-purple)
  170. );
  171. transition: width 0.3s ease;
  172. }
  173. #nav ul li a:hover {
  174. color: var(--dragon-purple);
  175. background-color: transparent;
  176. }
  177. #nav ul li a:hover::after {
  178. width: 100%;
  179. }
  180. #nav ul li a.active {
  181. color: var(--dragon-purple);
  182. }
  183. #nav ul li a.active::after {
  184. width: 100%;
  185. }
  186. .main {
  187. padding: 2rem;
  188. background-color: #fff;
  189. border-radius: 8px;
  190. box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  191. margin-bottom: 2rem;
  192. }
  193. .spotlight {
  194. display: flex;
  195. align-items: center;
  196. justify-content: center;
  197. margin: 2rem 0;
  198. }
  199. .spotlight .content {
  200. max-width: 600px;
  201. text-align: center;
  202. }
  203. .spotlight .content h2 {
  204. font-size: 2rem;
  205. color: #333;
  206. margin: 0 0 1rem;
  207. font-weight: bold;
  208. }
  209. .spotlight .content h3 {
  210. font-size: 1.2rem;
  211. color: #666;
  212. margin: 0 0 1.5rem;
  213. }
  214. .spotlight .content .actions {
  215. display: flex;
  216. justify-content: center;
  217. }
  218. .spotlight .content .actions .button {
  219. background: linear-gradient(
  220. 45deg,
  221. var(--dragon-dark-blue),
  222. var(--dragon-purple)
  223. );
  224. color: #fff;
  225. padding: 0.75rem 1.5rem;
  226. border: none;
  227. border-radius: 6px;
  228. cursor: pointer;
  229. transition: all 0.3s ease;
  230. box-shadow: 0 4px 6px rgba(26, 86, 219, 0.3);
  231. font-weight: 600;
  232. position: relative;
  233. overflow: hidden;
  234. }
  235. .spotlight .content .actions .button:hover {
  236. transform: translateY(-2px);
  237. box-shadow: 0 6px 12px rgba(26, 86, 219, 0.4);
  238. background: linear-gradient(45deg, #1a4fd8, #db34d3);
  239. }
  240. .spotlight .content .actions .button:active {
  241. transform: translateY(0);
  242. }
  243. .spotlight .content .actions .button::after {
  244. content: "";
  245. position: absolute;
  246. top: 0;
  247. left: 0;
  248. width: 100%;
  249. height: 100%;
  250. background: linear-gradient(
  251. 45deg,
  252. transparent,
  253. rgba(255, 255, 255, 0.3),
  254. transparent
  255. );
  256. transform: translateX(-100%);
  257. transition: transform 0.6s ease;
  258. }
  259. .spotlight .content .actions .button:hover::after {
  260. transform: translateX(100%);
  261. }
  262. .main.special {
  263. background-color: #fff;
  264. padding: 2rem;
  265. margin: 2rem 0;
  266. box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  267. border-radius: 12px;
  268. backdrop-filter: blur(10px);
  269. animation: fadeIn 1s ease-in-out;
  270. transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  271. border: 1px solid rgba(255, 255, 255, 0.3);
  272. }
  273. .main.special:hover {
  274. transform: translateY(-5px);
  275. box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);
  276. border-color: rgba(255, 255, 255, 0.5);
  277. }
  278. .main.special h2 {
  279. font-size: 1.8rem;
  280. color: #333;
  281. margin: 0 0 1rem;
  282. }
  283. .main.special ul.features {
  284. list-style: none;
  285. margin: 0;
  286. padding: 0;
  287. display: flex;
  288. flex-wrap: wrap;
  289. gap: 2rem;
  290. }
  291. .main.special ul.features li {
  292. flex: 1 1;
  293. text-align: center;
  294. }
  295. .main.special ul.features li a {
  296. display: inline-block;
  297. margin-bottom: 1rem;
  298. }
  299. .main.special ul.features li h3 {
  300. font-size: 1.2rem;
  301. color: #333;
  302. margin: 0 0 0.5rem;
  303. }
  304. .main.special ul.features li a {
  305. text-decoration: none;
  306. color: #333;
  307. }
  308. .main.special ul.features li a:hover {
  309. color: #555;
  310. text-decoration: underline;
  311. }
  312. .main.special ul.actions {
  313. padding-inline-start: 0;
  314. }
  315. #cta {
  316. background: rgba(255, 255, 255, 0.95);
  317. padding: 3rem 2rem;
  318. margin: 3rem 0;
  319. box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
  320. border-radius: 12px;
  321. border: 1px solid rgba(79, 70, 229, 0.15);
  322. animation: fadeIn 1s ease-in-out;
  323. text-align: center;
  324. backdrop-filter: blur(10px);
  325. position: relative;
  326. overflow: hidden;
  327. }
  328. #cta::before {
  329. content: "";
  330. position: absolute;
  331. top: 0;
  332. left: 0;
  333. right: 0;
  334. height: 4px;
  335. background: linear-gradient(
  336. 90deg,
  337. var(--dragon-dark-blue),
  338. var(--dragon-purple)
  339. );
  340. }
  341. #cta h2 {
  342. font-size: 2rem;
  343. color: var(--dragon-dark-blue);
  344. margin: 0 0 1.5rem;
  345. font-weight: 600;
  346. }
  347. #cta ul {
  348. list-style: none;
  349. margin: 0 auto 2rem;
  350. padding: 0;
  351. display: flex;
  352. flex-direction: column;
  353. gap: 0.8rem;
  354. max-width: 600px;
  355. }
  356. #cta ul li {
  357. font-size: 1.2rem;
  358. color: #555;
  359. line-height: 1.6;
  360. }
  361. #cta .actions .button {
  362. background: linear-gradient(
  363. 45deg,
  364. var(--dragon-dark-blue),
  365. var(--dragon-purple)
  366. );
  367. color: #fff;
  368. padding: 1rem 2rem;
  369. border: none;
  370. border-radius: 6px;
  371. cursor: pointer;
  372. transition: all 0.3s ease;
  373. box-shadow: 0 4px 6px rgba(26, 86, 219, 0.3);
  374. font-weight: 600;
  375. font-size: 1.1rem;
  376. }
  377. #cta .actions .button:hover {
  378. transform: translateY(-2px);
  379. box-shadow: 0 6px 12px rgba(26, 86, 219, 0.4);
  380. background: linear-gradient(45deg, #1a4fd8, #db34d3);
  381. }
  382. footer {
  383. background: rgba(255, 255, 255, 0.9);
  384. padding: 2rem 1.5rem;
  385. text-align: center;
  386. margin-top: 3rem;
  387. box-shadow: 0 -4px 6px rgba(0, 0, 0, 0.05);
  388. border-top: 1px solid rgba(0, 0, 0, 0.05);
  389. backdrop-filter: blur(10px);
  390. }
  391. footer .copyright {
  392. display: flex;
  393. flex-direction: column;
  394. gap: 0.5rem;
  395. font-size: 0.9rem;
  396. color: #555;
  397. margin: 0;
  398. line-height: 1.6;
  399. }
  400. footer .copyright a {
  401. color: var(--dragon-dark-blue);
  402. text-decoration: none;
  403. transition: color 0.2s ease;
  404. }
  405. footer .copyright a:hover {
  406. color: var(--dragon-purple);
  407. text-decoration: underline;
  408. }
  409. footer::before {
  410. content: "";
  411. display: block;
  412. width: 100px;
  413. height: 2px;
  414. background: linear-gradient(
  415. 90deg,
  416. var(--dragon-dark-blue),
  417. var(--dragon-purple)
  418. );
  419. margin: 0 auto 1.5rem;
  420. border-radius: 2px;
  421. }
  422. /* 立即加入我们按钮样式 - 与前往赞助按钮一致 */
  423. .cta-button {
  424. background: linear-gradient(
  425. 45deg,
  426. var(--dragon-dark-blue),
  427. var(--dragon-purple)
  428. );
  429. color: #fff;
  430. padding: 1rem 2rem;
  431. border: none;
  432. border-radius: 6px;
  433. cursor: pointer;
  434. transition: all 0.3s ease;
  435. box-shadow: 0 4px 6px rgba(26, 86, 219, 0.3);
  436. font-weight: 600;
  437. font-size: 1.1rem;
  438. }
  439. .cta-button:hover {
  440. transform: translateY(-2px);
  441. box-shadow: 0 6px 12px rgba(26, 86, 219, 0.4);
  442. background: linear-gradient(45deg, #1a4fd8, #db34d3);
  443. }
  444. /* 立即加入我们按钮特殊样式 */
  445. .button.join-button {
  446. background: linear-gradient(
  447. 45deg,
  448. var(--dragon-purple),
  449. var(--dragon-dark-blue)
  450. );
  451. font-size: 1.1rem;
  452. padding: 0.8rem 2rem;
  453. border-radius: 8px;
  454. box-shadow: 0 4px 8px rgba(219, 52, 211, 0.3);
  455. font-weight: 500;
  456. text-transform: none;
  457. letter-spacing: normal;
  458. }
  459. .button.join-button:hover {
  460. transform: translateY(-2px);
  461. box-shadow: 0 6px 12px rgba(219, 52, 211, 0.4);
  462. background: linear-gradient(45deg, #e82ee8, #1a56db);
  463. }
  464. .button.join-button:active {
  465. transform: translateY(0);
  466. }
  467. /* 移除按钮文字下划线 */
  468. .button,
  469. .cta-button {
  470. text-decoration: none !important;
  471. }
  472. /* 资源中心卡片样式 */
  473. #first .content {
  474. margin: 2rem 0;
  475. }
  476. .download-info {
  477. display: flex;
  478. justify-content: center;
  479. gap: 3rem;
  480. margin: 2rem 0;
  481. }
  482. .download-item {
  483. background: rgba(255, 255, 255, 0.98);
  484. padding: 2.5rem 2rem;
  485. border-radius: 16px;
  486. box-shadow: 0 8px 16px rgba(26, 86, 219, 0.08);
  487. width: 320px;
  488. transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  489. border: 1px solid rgba(77, 166, 255, 0.3);
  490. position: relative;
  491. overflow: hidden;
  492. text-align: center;
  493. }
  494. .download-item::before {
  495. content: "";
  496. position: absolute;
  497. top: 0;
  498. left: 0;
  499. right: 0;
  500. height: 6px;
  501. background: linear-gradient(
  502. 90deg,
  503. var(--dragon-dark-blue),
  504. var(--dragon-purple)
  505. );
  506. }
  507. .download-item:hover {
  508. transform: translateY(-8px);
  509. box-shadow: 0 12px 24px rgba(26, 86, 219, 0.15);
  510. border-color: rgba(77, 166, 255, 0.6);
  511. }
  512. .download-item .icon {
  513. font-size: 3rem;
  514. color: var(--dragon-dark-blue);
  515. margin-bottom: 1.5rem;
  516. display: inline-block;
  517. transition: all 0.3s ease;
  518. }
  519. .download-item:hover .icon {
  520. transform: scale(1.1);
  521. color: var(--dragon-purple);
  522. }
  523. .download-item h3 {
  524. color: var(--dragon-dark-blue);
  525. margin-bottom: 1.2rem;
  526. font-size: 1.5rem;
  527. font-weight: 700;
  528. position: relative;
  529. }
  530. .download-item p {
  531. color: var(--dragon-dark);
  532. line-height: 1.6;
  533. }
  534. .download-item a {
  535. display: inline-block;
  536. color: var(--dragon-dark-blue);
  537. text-decoration: none;
  538. font-weight: 600;
  539. padding: 0.5rem 1rem;
  540. border-radius: 4px;
  541. background: rgba(77, 166, 255, 0.1);
  542. transition: all 0.3s ease;
  543. }
  544. .download-item a:hover {
  545. color: white;
  546. background: linear-gradient(
  547. 45deg,
  548. var(--dragon-dark-blue),
  549. var(--dragon-purple)
  550. );
  551. text-decoration: none;
  552. transform: translateY(-2px);
  553. box-shadow: 0 4px 8px rgba(26, 86, 219, 0.2);
  554. }
  555. /* 文件列表表格样式 */
  556. .file-table {
  557. width: 100%;
  558. border-collapse: collapse;
  559. margin: 2rem 0;
  560. background: white;
  561. border-radius: 8px;
  562. box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  563. overflow: hidden;
  564. }
  565. .file-table th {
  566. background: linear-gradient(
  567. 45deg,
  568. color-mix(in srgb, var(--dragon-dark-blue) 80%, transparent),
  569. color-mix(in srgb, var(--dragon-purple) 80%, transparent)
  570. );
  571. color: rgb(255, 255, 255);
  572. padding: 1rem;
  573. text-align: left;
  574. }
  575. .file-table td {
  576. padding: 0.8rem 1rem;
  577. border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  578. }
  579. .file-table tr:last-child td {
  580. border-bottom: none;
  581. }
  582. .file-table a {
  583. color: var(--dragon-dark-blue);
  584. transition: color 0.2s ease;
  585. }
  586. .file-table a:hover {
  587. color: var(--dragon-purple);
  588. text-decoration: none;
  589. }