参考サイト
Bootstrap公式ドキュメント
https://getbootstrap.com/docs/4.3/components/card/
Card decks
の部分をほぼそのまま使った。
css部分は以下のQiitaの記事を参考にさせていただいた。
https://qiita.com/iwato/items/840b831ad66fec0dd4c1
コード
html
<div class="col-sm-4">
<div class="card card-link post-card">
<a href="{% url 'posts:post_detail' post.id %}"></a>
<img class="card-img-top" src="{{ post.middle_image.url }}" alt="thumbnail">
<div class="card-body">
<h5 class="card-title">{{ post.title }}</h5>
</div>
<div class="card-footer">
<small class="text-muted">published at {{ post.published|date:"Y/n/j" }}</small>
</div>
</div>
</div>
一行に最大3つ記事を表示するためにcol-sm-4
を指定している。
記事のサムネイル、タイトル、公開日を表示するようにしている。
css
/*div要素全体にリンクをつけるために必要な要素*/
.card-link {
position: relative;
}
.card-link a {
position: absolute;
top: 0;
left: 0;
height:100%;
width: 100%;
}
.post-card {
margin-top: 5px;
margin-bottom: 5px;
}
カード全体にリンクをつけるために.card-link
に対してcssを設定した。
また、カードの上下に間隔がなかったため、margin
を別途設定した。