style.scss 10.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606
  1. #listHeaderContent {
  2. margin-bottom: 10px;
  3. }
  4. #listFooterContent {
  5. margin-top: 10px;
  6. }
  7. // 일반 게시판
  8. section.default-list-layout {
  9. border-top: 1px solid var(--border-default);
  10. margin: 0.75rem 0;
  11. article:nth-of-type(1) {
  12. background-color: var(--bg-elevated);
  13. border-bottom: 1px solid var(--border-default);
  14. padding: 0.5rem 0;
  15. ul {
  16. display: grid;
  17. grid-template-columns:
  18. clamp(50px, 5%, 80px)
  19. 1fr
  20. clamp(100px, 14%, 190px)
  21. clamp(80px, 10%, 100px)
  22. clamp(50px, 9%, 100px)
  23. clamp(50px, 9%, 100px);
  24. column-gap: 0.75rem;
  25. li {
  26. text-align: center;
  27. &:nth-child(2),
  28. &:nth-child(3) {
  29. text-align: left;
  30. }
  31. }
  32. }
  33. @media (max-width: 1024px) {
  34. display: none;
  35. }
  36. }
  37. article:nth-of-type(2) {
  38. box-sizing: border-box;
  39. section {
  40. padding: 0.5rem 0;
  41. box-sizing: inherit;
  42. border-bottom: 1px solid var(--border-default);
  43. &.active,
  44. &:hover {
  45. background-color: var(--list-row-active);
  46. }
  47. button {
  48. color: var(--text-primary);
  49. padding-right: 0.5rem;
  50. &:hover {
  51. text-decoration: underline;
  52. color: var(--text-link);
  53. }
  54. }
  55. a {
  56. color: var(--text-link);
  57. text-decoration: none;
  58. &:hover {
  59. text-decoration: underline;
  60. color: var(--text-link-hover);
  61. }
  62. > em {
  63. display: inherit;
  64. font-style: normal;
  65. > span {
  66. color: var(--color-danger);
  67. font-size: 0.813rem;
  68. vertical-align: text-top;
  69. padding-right: 4px;
  70. }
  71. }
  72. > svg {
  73. padding-right: 4px;
  74. color: #9c9898;
  75. }
  76. > span {
  77. display: inline-block;
  78. vertical-align: middle;
  79. }
  80. }
  81. // PC
  82. ol {
  83. display: grid;
  84. grid-template-columns:
  85. clamp(50px, 5%, 80px) // 번호
  86. 1fr // 제목
  87. clamp(100px, 14%, 190px) // 작성자
  88. clamp(80px, 10%, 100px) // 작성일
  89. clamp(50px, 9%, 100px) // 조회수
  90. clamp(50px, 9%, 100px); // 추천수
  91. column-gap: 0.75rem;
  92. align-items: center;
  93. li {
  94. text-align: center;
  95. &:nth-child(2) {
  96. min-width: 0;
  97. text-align: left;
  98. word-break: keep-all;
  99. overflow-wrap: break-word;
  100. text-overflow: ellipsis;
  101. }
  102. &:nth-child(3) {
  103. text-align: left;
  104. }
  105. }
  106. }
  107. // Mobile
  108. dl {
  109. dt {
  110. font-size: 1.063rem;
  111. word-break: keep-all;
  112. overflow-wrap: break-word;
  113. text-overflow: ellipsis;
  114. }
  115. dd {
  116. ul {
  117. display: flex;
  118. flex-direction: row;
  119. flex-wrap: nowrap;
  120. justify-content: start;
  121. padding-top: 0.5rem;
  122. column-gap: 1.063rem;
  123. li {
  124. font-size: 0.875rem;
  125. &:last-child {
  126. flex-grow: 1;
  127. text-align: right;
  128. }
  129. }
  130. }
  131. }
  132. }
  133. @media (max-width: 1024px) {
  134. ol {
  135. display: none;
  136. }
  137. dl {
  138. display: block;
  139. }
  140. }
  141. }
  142. }
  143. }
  144. // 1:1 문의 게시판
  145. section.qna-list-layout {
  146. border-top: 1px solid var(--border-default);
  147. margin: 0.75rem 0;
  148. article:nth-of-type(1) {
  149. background-color: var(--bg-elevated);
  150. border-bottom: 1px solid var(--border-default);
  151. padding: 0.5rem 0;
  152. ul {
  153. display: grid;
  154. grid-template-columns:
  155. clamp(50px, 5%, 80px) // 번호
  156. 1fr // 제목
  157. clamp(100px, 14%, 190px) // 작성자
  158. clamp(100px, 10%, 100px) // 답변 여부
  159. clamp(80px, 10%, 100px); // 작성일
  160. column-gap: 0.75rem;
  161. li {
  162. text-align: center;
  163. &:nth-child(2),
  164. &:nth-child(3) {
  165. text-align: left;
  166. }
  167. }
  168. }
  169. @media (max-width: 1024px) {
  170. display: none;
  171. }
  172. }
  173. article:nth-of-type(2) {
  174. box-sizing: border-box;
  175. section {
  176. padding: 0.5rem 0;
  177. box-sizing: inherit;
  178. border-bottom: 1px solid var(--border-default);
  179. &.active,
  180. &:hover {
  181. background-color: var(--list-row-active);
  182. }
  183. button {
  184. color: var(--text-primary);
  185. padding-right: 0.5rem;
  186. &:hover {
  187. text-decoration: underline;
  188. color: var(--text-link);
  189. }
  190. }
  191. a {
  192. color: var(--text-link);
  193. text-decoration: none;
  194. &:hover {
  195. text-decoration: underline;
  196. color: var(--text-link-hover);
  197. }
  198. > em {
  199. display: inherit;
  200. font-style: normal;
  201. > span {
  202. color: var(--color-danger);
  203. font-size: 0.813rem;
  204. vertical-align: text-top;
  205. padding-right: 4px;
  206. }
  207. }
  208. > svg {
  209. padding-right: 4px;
  210. }
  211. > span {
  212. display: inline-block;
  213. vertical-align: middle;
  214. }
  215. }
  216. // PC
  217. ol {
  218. display: grid;
  219. grid-template-columns:
  220. clamp(50px, 5%, 80px) // 번호
  221. 1fr // 제목
  222. clamp(100px, 14%, 190px) // 작성자
  223. clamp(100px, 10%, 100px) // 답변 여부
  224. clamp(80px, 10%, 100px); // 작성일
  225. column-gap: 0.75rem;
  226. align-items: center;
  227. li {
  228. text-align: center;
  229. &:nth-child(2) {
  230. min-width: 0;
  231. text-align: left;
  232. word-break: keep-all;
  233. overflow-wrap: break-word;
  234. text-overflow: ellipsis;
  235. }
  236. &:nth-child(3) {
  237. text-align: left;
  238. }
  239. }
  240. }
  241. // Mobile
  242. dl {
  243. dt {
  244. font-size: 1.063rem;
  245. word-break: keep-all;
  246. overflow-wrap: break-word;
  247. text-overflow: ellipsis;
  248. }
  249. dd {
  250. ul {
  251. display: flex;
  252. flex-direction: row;
  253. flex-wrap: nowrap;
  254. justify-content: start;
  255. padding-top: 0.5rem;
  256. column-gap: 1.063rem;
  257. li {
  258. font-size: 0.875rem;
  259. &:last-child {
  260. flex-grow: 1;
  261. text-align: right;
  262. }
  263. }
  264. }
  265. }
  266. }
  267. @media (max-width: 1024px) {
  268. ol {
  269. display: none;
  270. }
  271. dl {
  272. display: block;
  273. }
  274. }
  275. }
  276. }
  277. }
  278. // 공지사항
  279. section.notice-list-layout {
  280. border-top: 1px solid var(--border-default);
  281. margin: 0.75rem 0;
  282. article:nth-of-type(1) {
  283. background-color: var(--bg-elevated);
  284. border-bottom: 1px solid var(--border-default);
  285. padding: 0.5rem 0;
  286. ul {
  287. display: grid;
  288. grid-template-columns:
  289. clamp(50px, 5%, 80px) // 번호
  290. 1fr // 제목
  291. clamp(100px, 14%, 190px) // 작성자
  292. clamp(80px, 10%, 100px) // 작성일
  293. clamp(50px, 9%, 100px); // 조회수
  294. column-gap: 0.75rem;
  295. li {
  296. text-align: center;
  297. &:nth-child(2),
  298. &:nth-child(3) {
  299. text-align: left;
  300. }
  301. }
  302. }
  303. @media (max-width: 1024px) {
  304. display: none;
  305. }
  306. }
  307. article:nth-of-type(2) {
  308. box-sizing: border-box;
  309. section {
  310. padding: 0.5rem 0;
  311. box-sizing: inherit;
  312. border-bottom: 1px solid var(--border-default);
  313. &.active,
  314. &:hover {
  315. background-color: var(--list-row-active);
  316. }
  317. button {
  318. color: var(--text-primary);
  319. padding-right: 0.5rem;
  320. &:hover {
  321. text-decoration: underline;
  322. color: var(--text-link);
  323. }
  324. }
  325. a {
  326. color: var(--text-link);
  327. text-decoration: none;
  328. &:hover {
  329. text-decoration: underline;
  330. color: var(--text-link-hover);
  331. }
  332. > em {
  333. display: inherit;
  334. font-style: normal;
  335. > span {
  336. color: var(--color-danger);
  337. font-size: 0.813rem;
  338. vertical-align: text-top;
  339. padding-right: 4px;
  340. }
  341. }
  342. > svg {
  343. padding-right: 4px;
  344. }
  345. > span {
  346. display: inline-block;
  347. vertical-align: middle;
  348. }
  349. }
  350. // PC
  351. ol {
  352. display: grid;
  353. grid-template-columns:
  354. clamp(50px, 5%, 80px) // 번호
  355. 1fr // 제목
  356. clamp(100px, 14%, 190px) // 작성자
  357. clamp(80px, 10%, 100px) // 작성일
  358. clamp(50px, 9%, 100px); // 조회수
  359. column-gap: 0.75rem;
  360. align-items: center;
  361. li {
  362. text-align: center;
  363. &:nth-child(2) {
  364. min-width: 0;
  365. text-align: left;
  366. word-break: keep-all;
  367. overflow-wrap: break-word;
  368. text-overflow: ellipsis;
  369. }
  370. &:nth-child(3) {
  371. text-align: left;
  372. }
  373. }
  374. }
  375. // Mobile
  376. dl {
  377. dt {
  378. font-size: 1.063rem;
  379. word-break: keep-all;
  380. overflow-wrap: break-word;
  381. text-overflow: ellipsis;
  382. }
  383. dd {
  384. ul {
  385. display: flex;
  386. flex-direction: row;
  387. flex-wrap: nowrap;
  388. justify-content: start;
  389. padding-top: 0.5rem;
  390. column-gap: 1.063rem;
  391. li {
  392. font-size: 0.875rem;
  393. &:last-child {
  394. flex-grow: 1;
  395. text-align: right;
  396. }
  397. }
  398. }
  399. }
  400. }
  401. @media (max-width: 1024px) {
  402. ol {
  403. display: none;
  404. }
  405. dl {
  406. display: block;
  407. }
  408. }
  409. }
  410. }
  411. }
  412. // 사진/영상 게시판
  413. .album-list-layout {
  414. display: grid;
  415. grid-template-columns: repeat(auto-fill, minmax(min(14rem, 100%), 1fr));
  416. gap: 12px;
  417. border-bottom: 1px solid var(--border-default);
  418. padding-bottom: 0.75rem;
  419. justify-items: center;
  420. align-items: start;
  421. margin-bottom: 0.75rem;
  422. > div {
  423. width: 100%;
  424. figure {
  425. // 대표 이미지
  426. article {
  427. a {
  428. display: block;
  429. position: relative;
  430. width: 100%;
  431. aspect-ratio: 16 / 9;
  432. overflow: hidden;
  433. img:hover, img:focus {
  434. border: 1px solid #eb7441;
  435. }
  436. @media (min-width: 1400px) {
  437. aspect-ratio: 1 / 1;
  438. }
  439. }
  440. }
  441. dl {
  442. // 제목
  443. dt {
  444. // 말머리
  445. button {
  446. color: var(--text-primary);
  447. padding-right: 0.5rem;
  448. &:hover {
  449. text-decoration: underline;
  450. color: var(--text-link);
  451. }
  452. }
  453. a {
  454. display: inline-block;
  455. color: var(--text-link);
  456. text-decoration: none;
  457. padding-top: 7px;
  458. &:hover {
  459. text-decoration: underline;
  460. color: var(--text-link-hover);
  461. }
  462. > em {
  463. font-style: normal;
  464. overflow-wrap: anywhere;
  465. > span {
  466. color: var(--color-danger);
  467. font-size: 0.813rem;
  468. vertical-align: text-bottom;
  469. padding-right: 4px;
  470. }
  471. }
  472. > svg {
  473. padding-right: 4px;
  474. }
  475. > span {
  476. display: inline-block;
  477. vertical-align: middle;
  478. }
  479. }
  480. }
  481. // 작성자
  482. dd {
  483. text-align: right;
  484. }
  485. }
  486. // 추천 수, 조회 수, 작성일
  487. figcaption {
  488. ul {
  489. display: flex;
  490. flex-direction: row;
  491. flex-wrap: nowrap;
  492. justify-content: end;
  493. padding-top: 0.5rem;
  494. column-gap: 1.063rem;
  495. li {
  496. font-size: 0.875rem;
  497. }
  498. }
  499. }
  500. }
  501. }
  502. > p {
  503. padding: 6.25rem 0;
  504. text-align: center;
  505. border-bottom: 1px solid var(--border-default);
  506. }
  507. }