style.css 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726
  1. @charset "UTF-8";
  2. /* 共通樣式 */
  3. :root {
  4. --main-color: #000;
  5. --sub-color: #e47140;
  6. --gray-color: #727272;
  7. }
  8. * {
  9. letter-spacing: 1px;
  10. font-weight: 400;
  11. font-family: "Noto Sans TC", sans-serif !important;
  12. }
  13. p,
  14. li {
  15. line-height: 32px;
  16. overflow-wrap: break-word;
  17. word-break: break-word;
  18. }
  19. ul {
  20. list-style: none;
  21. }
  22. img {
  23. max-width: 100%;
  24. height: auto;
  25. }
  26. html,
  27. body {
  28. height: 100%;
  29. margin: 0;
  30. }
  31. body {
  32. display: flex;
  33. flex-direction: column;
  34. overflow-y: scroll;
  35. }
  36. .btn:focus,
  37. .form-control:focus {
  38. border-color: var(--main-color) !important;
  39. box-shadow: none !important;
  40. outline: 0 none !important;
  41. }
  42. .badge {
  43. font-weight: 400 !important;
  44. }
  45. .navbar {
  46. background-color: var(--main-color) !important;
  47. }
  48. .navbar .navbar-collapse {
  49. flex-grow: 0;
  50. }
  51. .navbar .navbar-brand {
  52. font-size: 50px;
  53. font-weight: 500;
  54. font-family: "Roboto Slab", serif !important;
  55. color: var(--sub-color);
  56. transition: all 0.3s;
  57. }
  58. @media (max-width: 575px) {
  59. .navbar .navbar-brand {
  60. padding-left: 1rem;
  61. font-size: 35px;
  62. }
  63. }
  64. .navbar .navbar-brand:hover {
  65. opacity: 0.9;
  66. color: var(--sub-color);
  67. }
  68. .blog-post-tags .badge {
  69. background-color: var(--main-color);
  70. }
  71. .blog-post-tags .badge:hover {
  72. color: var(--main-color);
  73. background-color: #fff;
  74. border: 1px solid var(--main-color);
  75. }
  76. .blog-post-title {
  77. margin: 10px 0 20px;
  78. }
  79. .blog-post-title a {
  80. font-size: 40px;
  81. font-weight: 500;
  82. }
  83. @media (max-width: 575px) {
  84. .blog-post-title a {
  85. font-size: 35px;
  86. }
  87. }
  88. .pagination {
  89. justify-content: center;
  90. }
  91. .pagination .page-link {
  92. color: var(--main-color);
  93. }
  94. .pagination .page-item.active .page-link {
  95. z-index: 3;
  96. color: #fff;
  97. background-color: var(--main-color);
  98. border-color: var(--main-color);
  99. }
  100. .post-title a {
  101. color: #000;
  102. text-decoration: none;
  103. font-size: 22px;
  104. font-weight: 500;
  105. }
  106. .post-block-title {
  107. margin-bottom: 25px;
  108. position: relative;
  109. font-size: 20px;
  110. }
  111. .post-block-title::after {
  112. position: absolute;
  113. z-index: -10;
  114. top: 30px;
  115. left: 0;
  116. width: 100%;
  117. height: 0px;
  118. content: "";
  119. border-bottom: 1px solid var(--sub-color);
  120. bottom: 5px;
  121. }
  122. .post-block-title span {
  123. padding: 5px 20px;
  124. color: #fff;
  125. font-weight: 300;
  126. background: var(--sub-color);
  127. }
  128. .news-info {
  129. margin-top: 10px;
  130. line-height: 20px;
  131. }
  132. .news-info a {
  133. font-size: 14px;
  134. font-weight: 500;
  135. color: var(--gray-color);
  136. text-decoration: none;
  137. transition: all 0.3s;
  138. }
  139. .news-info a:hover {
  140. opacity: 0.8;
  141. }
  142. .news-info small {
  143. color: var(--gray-color);
  144. }
  145. .news-thumbnail {
  146. height: 100%;
  147. -o-object-fit: cover;
  148. object-fit: cover;
  149. }
  150. .line-clamp {
  151. max-width: 150px;
  152. display: -webkit-box;
  153. -webkit-line-clamp: 2;
  154. -webkit-box-orient: vertical;
  155. overflow: hidden;
  156. text-overflow: ellipsis;
  157. }
  158. .post-depiction {
  159. margin: 10px 0;
  160. display: -webkit-box;
  161. -webkit-line-clamp: 2;
  162. -webkit-box-orient: vertical;
  163. overflow: hidden;
  164. text-overflow: ellipsis;
  165. line-height: 26px;
  166. }
  167. .post-depiction a {
  168. color: #7a7a7a;
  169. text-decoration: none;
  170. }
  171. .top-btn {
  172. position: fixed;
  173. bottom: 15px;
  174. right: 15px;
  175. z-index: 10;
  176. opacity: 0;
  177. transition: all 0.5s;
  178. }
  179. .top-btn button {
  180. border: none;
  181. background: var(--sub-color);
  182. border-radius: 100px;
  183. width: 55px;
  184. height: 55px;
  185. }
  186. .show {
  187. opacity: 1;
  188. }
  189. .blog-header .nav-item {
  190. padding: 0 0.3rem;
  191. }
  192. @media (max-width: 575px) {
  193. .blog-header .nav-item {
  194. padding: 0 1rem;
  195. }
  196. }
  197. /* sidebar.html Start */
  198. .news-sidebar {
  199. position: sticky;
  200. top: 15px;
  201. }
  202. .news-sidebar .news-featured {
  203. position: unset;
  204. }
  205. .search-btn {
  206. border: 1px solid var(--main-color) !important;
  207. }
  208. .search-btn svg {
  209. color: var(--main-color);
  210. }
  211. .search-btn:hover {
  212. background-color: var(--main-color) !important;
  213. }
  214. .search-btn:hover svg {
  215. color: #fff;
  216. }
  217. .tags {
  218. margin: 0 5px 5px 0;
  219. padding: 7px 10px !important;
  220. font-size: 14px !important;
  221. font-weight: 400 !important;
  222. color: var(--main-color) !important;
  223. border: 1px solid var(--main-color) !important;
  224. }
  225. .tags:hover {
  226. color: #fff !important;
  227. background-color: var(--main-color);
  228. }
  229. /* sidebar.html End */
  230. /* single.html Start */
  231. .blog-post.content .content {
  232. padding-bottom: 3rem;
  233. }
  234. .blog-post.content .content img {
  235. max-height: 500px;
  236. -o-object-fit: contain;
  237. object-fit: contain;
  238. }
  239. .blog-post.content .toc-container {
  240. padding: 1.5rem;
  241. margin: 3rem 0;
  242. background: #f9f9f9;
  243. border: 1px solid #aaa;
  244. border-radius: 5px;
  245. }
  246. .blog-post.content .toc-container ul {
  247. margin-bottom: 0;
  248. list-style: disc;
  249. }
  250. .blog-post.content .toc-container ul a {
  251. color: var(--sub-color);
  252. text-decoration: none;
  253. }
  254. .blog-post.content .toc-container .title {
  255. display: block;
  256. margin-left: 1rem;
  257. margin-bottom: 0.5rem !important;
  258. font-size: 1.25rem;
  259. color: #000;
  260. }
  261. .blog-post.content h2 {
  262. padding-left: 1rem;
  263. margin: 5rem 0 1.5rem;
  264. border-left: 7px solid var(--sub-color);
  265. }
  266. .blog-post.content h4 {
  267. margin-top: 3rem;
  268. font-size: 1.25rem;
  269. font-weight: 500;
  270. line-height: 32px;
  271. }
  272. .blog-post.content h4 a {
  273. padding: 5px 8px;
  274. margin-right: 3px;
  275. border: 1px solid #000;
  276. border-radius: 5px;
  277. font-size: 14px;
  278. }
  279. .blog-post.content h4 a:hover {
  280. color: #fff !important;
  281. }
  282. .back-link {
  283. color: #000;
  284. display: block;
  285. text-align: center;
  286. text-decoration: none;
  287. transition: all 0.3s;
  288. }
  289. .back-link:hover {
  290. opacity: 0.7;
  291. }
  292. /* single.html End */
  293. /* content.html Start */
  294. .news-main {
  295. height: 100%;
  296. overflow: hidden;
  297. }
  298. .news-main a {
  299. text-decoration: none;
  300. }
  301. .news-main .title-info {
  302. position: absolute;
  303. bottom: 0;
  304. left: 0;
  305. right: 0;
  306. z-index: 10;
  307. padding: 1rem;
  308. background: linear-gradient(to top, rgba(0, 0, 0, 0.95) 0%, rgba(0, 0, 0, 0.7) 50%, rgba(0, 0, 0, 0.3) 80%, transparent 100%);
  309. }
  310. .news-main .title-info a,
  311. .news-main .title-info h2,
  312. .news-main .title-info small {
  313. color: #fff;
  314. letter-spacing: 1px;
  315. }
  316. .news-main .title-info h2 {
  317. line-height: 1.5;
  318. }
  319. .news-main .title-info h2 a {
  320. font-weight: 500;
  321. font-size: 1.25rem;
  322. display: -webkit-box;
  323. -webkit-box-orient: vertical;
  324. -webkit-line-clamp: 2;
  325. overflow: hidden;
  326. text-overflow: ellipsis;
  327. word-break: break-word;
  328. }
  329. @media (max-width: 991px) {
  330. .news-main .title-info h2 a {
  331. font-size: 1.25rem;
  332. }
  333. }
  334. .news-main .title-info .badge-link {
  335. display: inline-block;
  336. padding: 1px 20px;
  337. margin-bottom: 10px;
  338. background-color: var(--sub-color);
  339. font-weight: 500;
  340. }
  341. .news-main .post-title a {
  342. font-size: 34px;
  343. }
  344. .news-main img {
  345. height: 100%;
  346. -o-object-fit: cover;
  347. object-fit: cover;
  348. }
  349. .news-main .news-info a {
  350. font-size: 16px;
  351. }
  352. /* content.html End */
  353. /* focus.html Start */
  354. .focus-content {
  355. position: sticky;
  356. top: 20px;
  357. }
  358. .focus-content img,
  359. .news-featured img {
  360. width: 100%;
  361. height: 5vw;
  362. -o-object-fit: cover;
  363. object-fit: cover;
  364. }
  365. @media (max-width: 991px) {
  366. .focus-content img,
  367. .news-featured img {
  368. height: 15vw;
  369. }
  370. }
  371. .focus-content .post-title,
  372. .news-featured .post-title {
  373. overflow: hidden;
  374. text-overflow: ellipsis;
  375. display: -webkit-box;
  376. -webkit-line-clamp: 2;
  377. -webkit-box-orient: vertical;
  378. line-break: after-white-space;
  379. font-size: 1.125rem;
  380. }
  381. /* focus.html End */
  382. /* recent.html Start */
  383. .recent-content .news-list {
  384. margin: 0;
  385. }
  386. .recent-content .news-list li {
  387. margin: 15px 0;
  388. }
  389. .recent-content .news-list li img {
  390. width: 140px;
  391. height: 105px;
  392. -o-object-fit: cover;
  393. object-fit: cover;
  394. }
  395. .recent-content .news-list li small {
  396. display: block;
  397. }
  398. .recent-content .news-list li .news-info {
  399. margin-top: 0px;
  400. }
  401. .recent-content .news-list li:last-child {
  402. margin: 0;
  403. }
  404. /* recent.html End */
  405. /* news-tab.html Start */
  406. .tab-category .nav-link {
  407. color: var(--main-color);
  408. font-weight: 500;
  409. }
  410. .tab-category .nav-pills .nav-link.active,
  411. .tab-category .nav-pills .show > .nav-link {
  412. color: var(--sub-color);
  413. background-color: var(--main-color);
  414. }
  415. .tab-content .bg-img {
  416. position: relative;
  417. height: 370px;
  418. background-blend-mode: multiply;
  419. background-size: cover;
  420. background-position: center center;
  421. cursor: pointer;
  422. }
  423. @media (max-width: 991px) {
  424. .tab-content .bg-img {
  425. height: 50vw;
  426. }
  427. }
  428. .tab-content .bg-img section {
  429. padding: 10px 25px;
  430. position: absolute;
  431. bottom: 0;
  432. color: #fff;
  433. }
  434. .tab-content .bg-img section a {
  435. color: #fff;
  436. text-decoration: none;
  437. }
  438. .tab-content .bg-img section small {
  439. font-size: 12px;
  440. }
  441. .tab-content .post-title {
  442. line-height: 1;
  443. }
  444. .tab-content .col-5 img {
  445. width: 100%;
  446. height: 150px;
  447. }
  448. /* news-tab.html End */
  449. /* news-all.html Start */
  450. .news-all .post-title {
  451. margin: 5px auto;
  452. }
  453. .news-all .post-title a {
  454. font-size: 1.5rem;
  455. display: -webkit-box;
  456. -webkit-box-orient: vertical;
  457. -webkit-line-clamp: 2;
  458. overflow: hidden;
  459. text-overflow: ellipsis;
  460. word-break: break-word;
  461. }
  462. .news-all .news-info a {
  463. font-size: 14px;
  464. }
  465. .news-all hr {
  466. margin: 1.5rem 0;
  467. }
  468. .news-all img {
  469. width: 100%;
  470. height: 12vw;
  471. -o-object-fit: cover;
  472. object-fit: cover;
  473. }
  474. @media (max-width: 991px) {
  475. .news-all img {
  476. height: 20vw;
  477. }
  478. }
  479. @media (max-width: 575px) {
  480. .news-all img {
  481. height: 50vw;
  482. }
  483. }
  484. .news-all .line {
  485. padding: 0 12px;
  486. }
  487. /* news-all.html End */
  488. /* news-featured.html Start */
  489. .news-featured {
  490. position: sticky;
  491. top: 20px;
  492. }
  493. .news-featured .post-title a {
  494. font-size: 18px;
  495. }
  496. /* news-featured.html End */
  497. /* news-video.html Start */
  498. .news-video .post-block-title span,
  499. .local-video .post-block-title span {
  500. display: block;
  501. width: 100%;
  502. text-align: center;
  503. }
  504. .news-video .post-title a,
  505. .local-video .post-title a {
  506. font-size: 18px;
  507. display: -webkit-box;
  508. -webkit-line-clamp: 2;
  509. -webkit-box-orient: vertical;
  510. overflow: hidden;
  511. text-overflow: ellipsis;
  512. }
  513. .news-video .news-info a,
  514. .local-video .news-info a {
  515. font-size: 14px;
  516. }
  517. /* news-video.html End */
  518. .local-video img {
  519. width: 100%;
  520. height: 140px;
  521. }
  522. .news-main .left-content {
  523. height: 30vh;
  524. }
  525. .news-main .right-content {
  526. height: 56.6vh;
  527. }
  528. .news-main .bottom-content {
  529. height: 35vh;
  530. }
  531. @media (max-width: 991px) {
  532. .news-main .left-content,
  533. .news-main .right-content,
  534. .news-main .bottom-content {
  535. height: 50vw;
  536. }
  537. }
  538. .tags-list .cover-img {
  539. height: 230px;
  540. -o-object-fit: cover;
  541. object-fit: cover;
  542. -o-object-position: 0 25%;
  543. object-position: 0 25%;
  544. }
  545. .feature-article .float-right {
  546. float: right;
  547. max-width: 60%;
  548. margin: 1rem 0 1rem 1rem;
  549. border-radius: 12px;
  550. box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  551. }
  552. .feature-article .float-left {
  553. float: left;
  554. max-width: 60%;
  555. margin: 1rem 1.5rem 0 0;
  556. border-radius: 12px;
  557. box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  558. }
  559. @media (max-width: 768px) {
  560. .feature-article .float-right,
  561. .feature-article .float-left {
  562. float: none;
  563. display: block;
  564. max-width: 100%;
  565. margin: 1rem auto;
  566. /* 圖片置中 */
  567. }
  568. }
  569. .feature-article figure {
  570. margin: 2rem 0;
  571. text-align: center;
  572. }
  573. .feature-article figure img {
  574. width: 100%;
  575. height: auto;
  576. box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
  577. }
  578. .feature-article h1 {
  579. font-size: 3rem;
  580. margin: 3rem auto;
  581. padding-top: 1.5rem;
  582. border-top: 12px solid var(--sub-color);
  583. }
  584. .feature-article h2 {
  585. padding: 1.5rem 0;
  586. margin: 2.5rem auto;
  587. border-top: 1px solid var(--sub-color);
  588. border-bottom: 1px solid var(--sub-color);
  589. text-align: center;
  590. color: var(--sub-color);
  591. font-size: 2.5rem;
  592. font-weight: 500;
  593. }
  594. .feature-article h3,
  595. .feature-article h4 {
  596. margin-bottom: 1rem;
  597. color: var(--sub-color);
  598. line-height: 1.5;
  599. }
  600. .feature-article h3 {
  601. font-size: 1.625rem;
  602. }
  603. .feature-article h4 {
  604. font-size: 1.5rem;
  605. }
  606. .feature-article hr {
  607. margin: 3rem 0;
  608. }
  609. .feature-article .feature-body div,
  610. .feature-article .feature-body p {
  611. margin: 1.5rem 0 0;
  612. line-height: 2;
  613. font-size: 1.05rem;
  614. color: #222;
  615. }
  616. .feature-article .lead {
  617. display: inline-block;
  618. padding: 0.5rem 1.5rem;
  619. margin-bottom: 1.5rem;
  620. background-color: #f8f8f8;
  621. border-left: 5px solid var(--sub-color);
  622. border: 2px dotted #ccc;
  623. }
  624. .feature-article ul {
  625. list-style: disc;
  626. }
  627. .feature-article ul li {
  628. margin-top: 0.5rem;
  629. }
  630. .feature-article ol {
  631. list-style: auto;
  632. }
  633. .feature-article b,
  634. .feature-article strong {
  635. font-weight: 700;
  636. }
  637. .feature-article .toc {
  638. margin: 3rem 0;
  639. background: #f9f9f9;
  640. padding: 1rem 1.5rem;
  641. border-left: 4px solid var(--sub-color);
  642. font-size: 0.95rem;
  643. }
  644. .feature-article .toc .toc-title {
  645. font-size: 1.25rem;
  646. font-weight: bold;
  647. margin: 1rem 0;
  648. }
  649. .feature-article .toc ul {
  650. list-style: none;
  651. padding-left: 0;
  652. }
  653. .feature-article .toc ul li {
  654. margin: 0.15rem 0;
  655. font-size: 1rem;
  656. }
  657. .feature-article .toc ul li a {
  658. text-decoration: none;
  659. color: var(--sub-color);
  660. }
  661. .feature-article .toc ul li a:hover {
  662. text-decoration: underline;
  663. }
  664. .feature-article .toc ul li:empty {
  665. display: none;
  666. }
  667. .feature-article .quote-accent {
  668. display: flex;
  669. align-items: flex-start;
  670. gap: 0.5rem;
  671. padding: 1rem 0;
  672. font-size: 2rem;
  673. font-weight: 600;
  674. border-top: 4px solid var(--sub-color);
  675. }
  676. .feature-article .quote-accent::before {
  677. content: "“";
  678. flex: 0 0 auto;
  679. font-family: Georgia, "Times New Roman", serif;
  680. font-size: 2.8em;
  681. line-height: 0.6;
  682. color: var(--sub-color);
  683. margin-top: 0.1em;
  684. }
  685. .feature-article .quote-accent > p {
  686. margin: 0;
  687. }/*# sourceMappingURL=style.css.map */