자유게시판

자유로운 소통 공간

번호 제목 작성자 작성일 조회 추천
공지
주은아빠 2025.10.25 9 0
주은아빠 2025.10.25 9
61
주은아빠 2025.07.02 97 0
주은아빠 2025.07.02 97
60
주은아빠 2025.07.02 105 0
주은아빠 2025.07.02 105
59
주은아빠 2025.07.02 102 0
주은아빠 2025.07.02 102
43
주은아빠 2025.05.29 87 0
주은아빠 2025.05.29 87
34
주은아빠 2025.01.30 148 0
주은아빠 2025.01.30 148
32
주은아빠 2025.01.30 142 0
주은아빠 2025.01.30 142
24
주은아빠 2025.01.29 148 0
주은아빠 2025.01.29 148
20
주은아빠 2025.01.29 128 0
주은아빠 2025.01.29 128
18
주은아빠 2025.01.26 139 0
주은아빠 2025.01.26 139
17
관리자 2025.01.25 159 1
관리자 2025.01.25 159
16
관리자 2025.01.25 188 1
관리자 2025.01.25 188
15
관리자 2025.01.25 123 0
관리자 2025.01.25 123
11
관리자 2025.01.25 127 0
관리자 2025.01.25 127
10
관리자 2025.01.25 122 0
관리자 2025.01.25 122
list-style: none; padding: 0; margin: 0; flex-wrap: wrap; } .board-category-nav li { position: relative; margin: 0; } .board-category-nav li a { display: block; padding: 15px 25px; color: #666; text-decoration: none; font-size: 15px; font-weight: 500; transition: all 0.3s ease; } .board-category-nav li.active a { color: #007bff; font-weight: 600; } .board-category-nav li.active::after { content: ''; position: absolute; bottom: -2px; left: 0; width: 100%; height: 2px; background: #007bff; } .board-category-nav li a:hover { color: #007bff; background: rgba(0,123,255,0.05); } /* 게시판 헤더 */ .board-header { margin-bottom: 30px; padding: 20px; background: #f8f9fa; border-radius: 8px; } .board-title { font-size: 24px; font-weight: 600; color: #333; margin: 0 0 10px 0; } .board-desc { color: #666; margin: 0; font-size: 14px; } /* 반응형 스타일 */ @media (max-width: 768px) { .board-container { padding: 15px; } .board-category-nav { overflow-x: auto; -webkit-overflow-scrolling: touch; } .board-category-nav ul { flex-wrap: nowrap; padding-bottom: 5px; } .board-category-nav li a { padding: 12px 15px; font-size: 14px; white-space: nowrap; } .board-header { padding: 15px; } .board-title { font-size: 20px; } .board-desc { font-size: 13px; } } /* 게시판 테이블 스타일 개선 */ .board-table { width: 100%; border-collapse: collapse; margin-top: 20px; } .board-table th { background: #f8f9fa; padding: 12px; font-weight: 600; color: #333; border-top: 2px solid #dee2e6; border-bottom: 1px solid #dee2e6; text-align: center; } .board-table th:nth-child(2) { text-align: left; /* 제목 헤더는 왼쪽 정렬 */ } .board-table td { padding: 12px; border-bottom: 1px solid #dee2e6; color: #666; text-align: center; } .board-table td.title { text-align: left; /* 제목 컬럼은 왼쪽 정렬 */ } /* 공지사항 배지 - PC용 */ .notice-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 20px; background: #ff4b4b; color: white; font-size: 12px; font-weight: 600; border-radius: 4px; padding: 0 6px; } .board-table tr:hover { background-color: #f8f9fa; } /* PC에서 모바일 메타 정보 숨김 */ .mobile-meta { display: none; } /* 글쓰기 버튼 */ .write-btn { display: inline-flex; align-items: center; padding: 10px 20px; background: #007bff; color: #fff; border-radius: 4px; text-decoration: none; font-weight: 500; margin-top: 20px; transition: background-color 0.3s; } .write-btn:hover { background: #0056b3; } .write-btn i { margin-right: 8px; } .search-container { margin: 10px 10px; padding: 0px; background: #fff; border-radius: 5px; } .search-form { display: flex; justify-content: center; } .search-input-group { display: flex; gap: 10px; width: 100%; max-width: 600px; } .search-select { height: 40px; padding: 0 10px; border: 1px solid #ddd; border-radius: 5px; background-color: #fff; min-width: 100px; } .search-input { flex: 1; height: 40px; padding: 0 15px; border: 1px solid #ddd; border-radius: 5px; } .search-button { height: 40px; padding: 0 20px; background: #007bff; color: white; border: none; border-radius: 5px; cursor: pointer; transition: background-color 0.2s; } .search-button:hover { background: #0056b3; } .pagination { text-align: center; margin-top: 30px; display: flex; justify-content: center; gap: 5px; } .pagination a { display: inline-flex; align-items: center; justify-content: center; min-width: 35px; height: 35px; padding: 0 10px; border: 1px solid #dee2e6; color: #495057; text-decoration: none; border-radius: 5px; transition: all 0.3s; } .pagination a:hover:not(.active) { background-color: #e9ecef; border-color: #dee2e6; } .pagination a.active { background-color: #007bff; color: white; border-color: #007bff; font-weight: 600; } .board-table .title a { position: relative; display: inline-flex; align-items: center; color: #333; text-decoration: none; font-weight: 500; padding: 5px 0; } .board-table .title a:hover { color: #212529; text-decoration: none; } .board-table tr:hover { background-color: #f8f9fa; cursor: pointer; } /* 새 글 뱃지 */ .new-badge { display: inline-flex; align-items: center; justify-content: center; background: #ff4757; color: white; padding: 2px 6px; border-radius: 3px; font-size: 11px; margin-left: 8px; height: 18px; line-height: 1; } /* 인기글 스타일 */ .hot-post { background-color: #fff8f8; } /* 미리보기 툴팁 */ .preview-tooltip { display: none; position: absolute; top: calc(100% + 5px); left: 0; width: 300px; background: white; border: 1px solid #ddd; border-radius: 5px; padding: 15px; box-shadow: 0 3px 10px rgba(0,0,0,0.1); z-index: 1000; pointer-events: none; } .post-title:hover .preview-tooltip { display: block; } .preview-content { font-size: 14px; color: #666; line-height: 1.5; margin-bottom: 10px; } .preview-info { display: flex; gap: 15px; font-size: 12px; color: #888; } .preview-info span { display: flex; align-items: center; gap: 5px; } /* 최신글 스타일 */ .new-post td.title a { color: #2980b9; } .new-badge { display: inline-flex; align-items: center; justify-content: center; background: #3498db; color: white; padding: 2px 6px; border-radius: 3px; font-size: 11px; margin-left: 8px; height: 18px; line-height: 1; } .hot-badge { display: inline-flex; align-items: center; justify-content: center; background: #e74c3c; color: white; padding: 2px 6px; border-radius: 3px; font-size: 11px; margin-left: 8px; height: 18px; line-height: 1; } /* 공지사항 스타일 강화 */ .notice { background-color: #f8f9fa; } .notice td:first-child { color: #e74c3c; font-weight: 600; } /* 뱃지 애니메이션 */ @keyframes pulse { 0% { transform: scale(1); } 50% { transform: scale(1.05); } 100% { transform: scale(1); } } .hot-badge { animation: pulse 2s infinite; } /* 호버 효과 개선 */ .board-table tr:hover { background-color: #f8f9fa; transition: background-color 0.2s ease; } .hot-post:hover { background-color: #fff0f0; transition: background-color 0.2s ease; } /* 모바일 대응 */ @media (max-width: 768px) { .new-badge, .hot-badge { display: inline-flex; margin-left: 5px; } .hot-post { border-left: 3px solid #e74c3c; } .new-post { border-left: 3px solid #3498db; } } .post-tags { margin-top: 5px; } .tag { display: inline-block; padding: 2px 8px; margin: 0 4px 4px 0; background-color: #e9ecef; border-radius: 15px; font-size: 12px; color: #495057; } .tag:hover { background-color: #dee2e6; cursor: pointer; } /* RSS 링크 스타일 */ .rss-link { display: inline-block; margin-left: 10px; color: #ff6b00; font-size: 0.8em; text-decoration: none; transition: color 0.2s ease; } .rss-link:hover { color: #ff8533; } .rss-link i { font-size: 16px; } /* 인기게시글 섹션 - 심플하고 깔끔한 디자인 */ .popular-posts { background: #ffffff; border: 1px solid #e9ecef; border-radius: 12px; padding: 16px; margin-bottom: 20px; margin-top: 10px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04); } .popular-posts h3 { font-size: 16px; font-weight: 600; color: #2c3e50; margin: 0 0 12px 0; padding-bottom: 8px; border-bottom: 2px solid #3498db; display: flex; align-items: center; gap: 6px; } .popular-posts h3::before { content: "🔥"; font-size: 16px; } .popular-posts-list { display: flex; flex-direction: column; gap: 2px; } .popular-post-item { padding: 8px 12px; border-radius: 0; transition: all 0.2s ease; border: none; border-bottom: 1px solid #dee2e6; height: 47px; /* 본문 리스트와 동일한 높이 (12px padding * 2 + 23px content) */ display: flex; align-items: center; } .popular-post-item:last-child { border-bottom: none; } .popular-post-item:hover { background-color: #f8f9fa; } .popular-post-item a { text-decoration: none; color: inherit; display: flex; align-items: center; gap: 8px; justify-content: space-between; width: 100%; height: 100%; } .popular-post-item .title-section { display: flex; align-items: center; gap: 4px; flex: 1; min-width: 0; } .popular-post-item .post-title { font-weight: 500; color: #333; margin: 0; line-height: 1.1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .popular-post-item .comment-count { background: #e53e3e; color: white; font-weight: 600; padding: 1px 5px; border-radius: 8px; min-width: 16px; text-align: center; flex-shrink: 0; height: 16px; line-height: 14px; } .popular-post-item .post-info { display: flex; align-items: center; gap: 6px; color: #666; flex-shrink: 0; line-height: 1; } .popular-post-item .post-info .author { color: #666; font-weight: 500; white-space: nowrap; max-width: 80px; overflow: hidden; text-overflow: ellipsis; } .popular-post-item .post-info .stats { display: flex; gap: 4px; color: #888; } .popular-post-item .post-info .stats span { display: flex; align-items: center; gap: 2px; white-space: nowrap; line-height: 1; } .popular-post-item .post-info .stats .views::before { content: "조회 "; } .popular-post-item .post-info .stats .likes::before { content: "추천 "; } /* 모바일 반응형 - 인기게시글 */ @media (max-width: 768px) { .popular-posts { margin: 10px 0; padding: 12px; border-radius: 8px; } .popular-posts h3 { font-size: 15px; margin-bottom: 10px; padding-bottom: 6px; } .popular-post-item { padding: 6px 8px; min-height: 32px; } .popular-post-item .post-title { font-size: 14px; } .popular-post-item .comment-count { font-size: 14px; } .popular-post-item .post-info { font-size: 14px; gap: 4px; } .popular-post-item .post-info .author { max-width: 60px; font-size: 12px; } .popular-post-item .post-info .stats { gap: 3px; } .popular-post-item .post-info .stats span { font-size: 14px; } .popular-post-item .post-info .stats .views::before { content: ""; font-size: 14px; } .popular-post-item .post-info .stats .likes::before { content: ""; font-size: 14px; } } @media (max-width: 480px) { .popular-posts { margin: 5px 0; padding: 10px; } .popular-posts h3 { font-size: 14px; margin-bottom: 8px; padding-bottom: 4px; } .popular-post-item { padding: 8px 12px; } .popular-post-item .post-title { font-size: 14px; } .popular-post-item .comment-count { font-size: 14px; } .popular-post-item .post-info { font-size: 14px; gap: 4px; } .popular-post-item .post-info .author { max-width: 50px; font-size: 11px; } .popular-post-item .post-info .stats span { font-size: 14px; } .popular-post-item .post-info .stats .views::before { content: ""; font-size: 14px; } .popular-post-item .post-info .stats .likes::before { content: ""; font-size: 14px; } } /* 모바일 최적화 스타일 */ @media screen and (max-width: 768px) { .board-container { padding: 15px; margin: 15px; } .board-table thead { display: none; } .board-table { border: none; } /* 게시글 행 스타일 */ .board-table tr { display: block; padding: 1px 15px; border-bottom: 1px solid #eee; background: #fff; } /* 모든 td 기본 스타일 초기화 */ .board-table td { display: none; border: none; padding: 0; } /* 제목 줄 스타일 */ .board-table td.title { display: block !important; width: 100%; padding: 0 0 5px 0; } .board-table td.title a { text-decoration: none; color: inherit; } /* 모바일에서 공지사항 뱃지 추가 여백 */ .notice-badge { margin-right: 8px; } .pagination { margin-bottom: 10px; } .preview-tooltip { display: none !important; } .board-header { display: flex; align-items: center; gap: 12px; margin: 10px 15px; padding: 0; background: transparent; border-radius: 0; } .board-title { display: inline-flex; align-items: center; justify-content: center; background: #007bff; color: white; font-size: 14px; font-weight: 600; padding: 6px 12px; border-radius: 20px; margin: 0; border-bottom: none; white-space: nowrap; } .board-desc { font-size: 13px; color: #666; margin: 0; flex: 1; line-height: 1.2; } .mobile-meta { display: flex !important; align-items: center; gap: 8px; font-size: 12px; color: #666; margin-top: 5px; } .mobile-meta span { display: flex; align-items: center; gap: 4px; } .mobile-meta i { font-size: 12px; } .comment-count { color: #ff4b4b; font-weight: 500; } /* 구분점 스타일 */ .meta-dot { display: inline-block; width: 2px; height: 2px; background: #ccc; border-radius: 50%; } /* 뱃지 스타일 */ .new-badge { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; background: #ff4b4b; color: white; font-size: 11px; border-radius: 50%; margin-left: 4px; } } /* 더 작은 화면 대응 */ @media screen and (max-width: 480px) { .board-container { padding: 0px; } .board-header { margin: 8px 10px; gap: 8px; } .board-title { font-size: 12px; padding: 4px 10px; } .board-desc { font-size: 11px; } .title { font-size: 15px; } .post-meta { font-size: 12px; } .write-btn { padding: 10px 16px; }