카테고리 없음
개발 일지 8 -게시판 꾸미기
sorecord
2024. 8. 22. 12:29
게시판의 디자인이 너무 간단해 보여서 css를 이용하여 게시판을 꾸몄다.
css를 사용해 본 경험이 적어서 하나씩 찾아가면서 기능을 구현했다.
제목 부분과 내용 부분을 아래 코드를 이용해서 구분을 해주었다.
.post-detail-container {
padding: 20px;
}
.post-header {
background-color: #f9f9f9;
padding: 10px;
border: 1px solid #ddd;
border-radius: 4px;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.post-meta {
color: #777;
font-size: 0.9em;
}
.post-body {
padding: 20px;
background-color: #fff;
border: 1px solid #ddd;
border-radius: 4px;
margin-top: 10px;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
헤더 부분에서 제목, 작성자의 닉네임, 작성일, 조회수를 출력했고 바디 부분은 내용을 출력했다. 게시글의 내용에 좀 더 집중을 할 수 있게 네모 박스 내부에 글을 배치를 했다.
.comment-form {
display: flex; /* Flexbox 사용 */
align-items: flex-start; /* 세로 정렬 */
}
.comments-section {
margin-top: 20px;
}
.comments-section textarea {
width: 100%; /* 댓글 창의 너비에 맞추기 */
box-sizing: border-box; /* 패딩과 경계선 포함하여 전체 너비 계산 */
min-height: 100px; /* 최소 높이 설정 */
margin-right: 10px;
resize: vertical; /* 세로 방향으로만 크기 조절 가능 */
}
.comment-form button {
box-sizing: border-box; /* 패딩과 경계선 포함하여 전체 너비 계산 */
min-height: 100px; /* 최소 높이 설정 */
resize: vertical;
}
댓글 입력창의 가로 넓이를 맞춰주고 '댓글 작성' 버튼도 바로 오른쪽에 배치를 했다.
가장 관건인 댓글 작성 부분이다.
<li class="comment-item">
<div class="comment-box">
<div class="comment-header">
<strong class="comment-author">{{ comment.author.nickname }}</strong>
<div class="comment-meta">
<span>{{ comment.created_at|date:"Y-m-d H:i" }}</span>
<span>좋아요: {{ comment.likes }}</span>
<button onclick="likeComment({{ comment.id }})">좋아요</button>
</div>
</div>
<div class="comment-content">{{ comment.content }}</div>
<div class ="comment-meta">
{% if user in user_check %}
<button onclick="toggleReplyForm({{ comment.id }}, true )">대댓글</button>
<div id="reply-form-{{ comment.id }}" class="reply-form" style="display: none;">
<form method="post" action="{% url 'save_comment' post.pk %}">
{% csrf_token %}
<textarea name="content" placeholder="대댓글을 입력하세요." rows="2"></textarea>
<input type="hidden" name="parent_id" value="{{ comment.id }}">
<input type="hidden" name="parent_reply_id" value="{{ comment.id }}">
<button type="submit" name="reply_submit">대댓글 작성</button>
</form>
</div>
{% endif %}
</div>
</div>
<ul class="replies-list">
{% for reply in comment.replies.all %}
{% include 'book/comment_template.html' with comment=reply %}
{% endfor %}
</ul>
</li>
댓글끼리 박스로 나누어지게끔 만들었다. 시간과 좋아요 대댓글 버튼은 왼쪽에 배치를 하고 오른쪽에 작성자의 이름과 내용을 입력을 할 수 있게 구성했다.
위와 같이 디자인했다.
아직 수정하고 보완해야 할 부분이 많아 보인다.