仕事で「ニュースリスト」を実装したので、せっかくなのでメモに残しておくことにしました。
レスポンシブにも対応しているので、是非真似してコーディングしたりコピペしてみてください。
【CSS】ニュースリストの作り方
完成形はこちらです。
HTML
<div class="newslist">
<ul>
<li>
<div class="newslist-box">
<time datetime="2021.2.1">2021.02.01</time>
<p>MENU</p>
</div>
<p class="newslist-text">
<a href=""
>テキストが入ります。テキストが入ります。テキストが入ります。</a
>
</p>
</li>
<li>
<div class="newslist-box">
<time datetime="2021.2.1">2021.02.01</time>
<p>MENU</p>
</div>
<p class="newslist-text">
<a href=""
>テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。</a
>
</p>
</li>
<li>
<div class="newslist-box">
<time datetime="2021.2.1">2021.02.01</time>
<p>MENU</p>
</div>
<p class="newslist-text">
<a href=""
>テキストが入ります。テキストが入ります。テキストが入ります。</a
>
</p>
</li>
</ul>
</div>
CSS
.newslist {
max-width: 800px;
margin: 0 auto;
background-color: #efefef;
}
.newslist ul {
padding-left: 0;
}
.newslist li {
display: flex;
align-items: flex-start;
padding: 20px 0;
border-top: 2px solid black;
}
.newslist li:last-child {
border-bottom: 2px solid black;
}
.newslist .newslist-box {
display: flex;
align-items: center;
padding-left: 10px;
}
.newslist .newslist-box p {
padding: 5px 10px;
background-color: #000;
color: #fff;
margin: 0 15px;
}
.newslist .newslist-text {
text-align: left;
line-height: 1.5;
}
.newslist .newslist-text a {
text-decoration: none;
color: black;
}
/* レスポンシブ */
@media (max-width: 600px) {
.newslist {
padding: 0 10px;
background-color: #fff;
}
.newslist li {
flex-direction: column;
}
.newslist .newslist-box {
padding-left: 0;
width: 100%;
justify-content: space-between;
margin-bottom: 10px;
}
}



