style.css 13 KB

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