21.08.12
Today I Learned
e-sport.html
<!-- eSport Main Left -->
<div class="left">
<!-- eSport Main Article -->
<div id="esport-main-article">
<div class="article full">
<img src="https://via.placeholder.com/150" alt="article image">
<div class="txt-wrap">
<h3>Title</h3>
<p>
Donec sollicitudin molestie malesuada.
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Vivamus magna justo, lacinia eget consectetur sed, convallis at tellus.
Proin eget tortor risus.
</p>
<span class="source">포모스</span>
</div>
</div>
<div class="article">
<img src="https://via.placeholder.com/150" alt="article image">
<div class="txt-wrap">
<h3>Title</h3>
<span class="source">포모스</span>
</div>
</div>
<div class="article">
<img src="https://via.placeholder.com/150" alt="article image">
<div class="txt-wrap">
<h3>Title</h3>
<span class="source">포모스</span>
</div>
</div>
</div>
<!-- eSport Replay -->
<div id="esport-replay" class="esport-section">
<div class="title-wrap">
<h2>경기 다시보기</h2>
</div>
<nav class="game-menu">
<ul class="esport-flex-start">
<li>
<a href="#" class="active">
<i></i>
<span>MSI</span>
</a>
</li>
<li>
<a href="#">
<i></i>
<span>MSI</span>
</a>
</li>
<li>
<a href="#">
<i></i>
<span>MSI</span>
</a>
</li>
</ul>
</nav>
<ul class="play-lists esport-flex-between">
<li>
<a href="#">
<div class="image-wrap">
<img src="https://via.placeholder.com/285x160" alt="replay image">
<div class="status-wrap esport-flex-between">
<i></i>
<span class="time">56:01</span>
</div>
</div>
<h3>월드컵 Day2 5세트 경기</h3>
</a>
</li>
<li>
<a href="#">
<div class="image-wrap">
<img src="https://via.placeholder.com/285x160" alt="replay image">
<div class="status-wrap esport-flex-between">
<i></i>
<span class="time">56:01</span>
</div>
</div>
<h3>월드컵 Day2 5세트 경기</h3>
</a>
</li>
<li>
<a href="#">
<div class="image-wrap">
<img src="https://via.placeholder.com/285x160" alt="replay image">
<div class="status-wrap esport-flex-between">
<i></i>
<span class="time">56:01</span>
</div>
</div>
<h3>월드컵 Day2 5세트 경기</h3>
</a>
</li>
<li>
<a href="#">
<div class="image-wrap">
<img src="https://via.placeholder.com/285x160" alt="replay image">
<div class="status-wrap esport-flex-between">
<i></i>
<span class="time">56:01</span>
</div>
</div>
<h3>월드컵 Day2 5세트 경기</h3>
</a>
</li>
<li>
<a href="#">
<div class="image-wrap">
<img src="https://via.placeholder.com/285x160" alt="replay image">
<div class="status-wrap esport-flex-between">
<i></i>
<span class="time">56:01</span>
</div>
</div>
<h3>월드컵 Day2 5세트 경기</h3>
</a>
</li>
<li>
<a href="#">
<div class="image-wrap">
<img src="https://via.placeholder.com/285x160" alt="replay image">
<div class="status-wrap esport-flex-between">
<i></i>
<span class="time">56:01</span>
</div>
</div>
<h3>월드컵 Day2 5세트 경기</h3>
</a>
</li>
</ul>
</div>
<!-- eSport News -->
<div id="esport-news" class="eport-section">
<div class="title-wrap">
<h2>추천 뉴스</h2>
</div>
<div class="article-wrap esport-flex-between">
<ul class="left-lists esport-flex-between">
<li>
<a href="#">
<img src="https://via.placeholder.com/226x132" alt="article image">
<h3>Title 1</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
</a>
</li>
<li>
<a href="#">
<img src="https://via.placeholder.com/226x132" alt="article image">
<h3>Title 1</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
</a>
</li>
</ul>
<ul class="right-lists">
<li><a href="#">Nulla porttitor accumsan tincidunt.</a></li>
<li><a href="#">Nulla porttitor accumsan tincidunt.</a></li>
<li><a href="#">Nulla porttitor accumsan tincidunt.</a></li>
<li><a href="#">Nulla porttitor accumsan tincidunt.</a></li>
<li><a href="#">Nulla porttitor accumsan tincidunt.</a></li>
</ul>
</div>
</div>
<!-- eSpoart Expert -->
<div id="esport-expert" class="esport-section">
<div class="title-wrap">
<h2>전문가 칼럼</h2>
</div>
<ul class="news-lists esport-flex-between">
<li>
<a href="#" class="esport-flex-start">
<img src="https://via.placeholder.com/153x86" alt="news image">
<div class="txt-wrap">
<h3>Title</h3>
<p>
Praesent sapien massa, convallis a pellentesque nec, egestas non nisi.
Donec rutrum congue leo eget malesuada.
</p>
<span class="source">핫매치 리뷰</span>
</div>
</a>
</li>
<li>
<a href="#" class="esport-flex-start">
<img src="https://via.placeholder.com/153x86" alt="news image">
<div class="txt-wrap">
<h3>Title</h3>
<p>
Praesent sapien massa, convallis a pellentesque nec, egestas non nisi.
Donec rutrum congue leo eget malesuada.
</p>
<span class="source">핫매치 리뷰</span>
</div>
</a>
</li>
<li>
<a href="#" class="esport-flex-start">
<img src="https://via.placeholder.com/153x86" alt="news image">
<div class="txt-wrap">
<h3>Title</h3>
<p>
Praesent sapien massa, convallis a pellentesque nec, egestas non nisi.
Donec rutrum congue leo eget malesuada.
</p>
<span class="source">핫매치 리뷰</span>
</div>
</a>
</li>
<li>
<a href="#" class="esport-flex-start">
<img src="https://via.placeholder.com/153x86" alt="news image">
<div class="txt-wrap">
<h3>Title</h3>
<p>
Praesent sapien massa, convallis a pellentesque nec, egestas non nisi.
Donec rutrum congue leo eget malesuada.
</p>
<span class="source">핫매치 리뷰</span>
</div>
</a>
</li>
</ul>
</div>
</div>
style.css
/* 08-12 */
#esport-main .content-wrap {
overflow: hidden;
padding-top: 30px;
}
/* eSport Main Left */
#esport-main .left {
float: left;
width: 900px;
height: 2000px;
/* background-color: yellow; */
}
/* eSport Main Article */
#esport-main-article {
overflow: hidden;
width: 100%;
height: 468px;
background-color: gray;
border-radius: 10px;
margin-bottom: 30px;
}
#esport-main-article .article {
position: relative;
float: left;
width: 50%;
height: 50%;
}
#esport-main-article .article.full {
height: 100%;
}
#esport-main-article .article img {
position: absolute;
width: 100%;
height: 100%;
}
#esport-main-article .article .txt-wrap {
position: absolute;
width: 100%;
padding: 0 24px 20px;
left: 0;
bottom: 0;
color: white;
}
#esport-main-article .article .txt-wrap h3 {
font-size: 20px;
font-weight: 700;
line-height: 26px;
}
#esport-main-article .article .txt-wrap p {
margin-top: 5px;
font-size: 14px;
font-weight: 500;
line-height: 19px;
}
#esport-main-article .article .txt-wrap .source {
display: block;
margin-top: 10px;
font-size: 13px;
color: hsla(0, 0, 100%, 0.7);
}
/* eSport Section */
.esport-section {
border-top: solid 1px gray;
padding-bottom: 30px;
margin-bottom: 30px;
}
.esport-section .title-wrap {
padding: 15px 0;
}
.esport-section .title-wrap h2 {
font-size: 18px;
}
/* eSport Replay */
#esport-replay .game-menu {
margin-bottom: 24px;
}
#esport-replay .game-menu ul {
}
#esport-replay .game-menu ul li {
margin-right: 20px;
}
#esport-replay .game-menu ul li:last-child {
margin-right: 0;
}
#esport-replay .game-menu ul li a {
display: block;
width: 60px;
text-align: center;
}
#esport-replay .game-menu ul li a.active i {
background-color: purple;
}
#esport-replay .game-menu ul li a.active span {
color: purple;
}
#esport-replay .game-menu ul li i {
display: inline-block;
width: 60px;
height: 60px;
background-color: gray;
border-radius: 50%;
margin-bottom: 6px;
}
#esport-replay .game-menu ul li span {
font-size: 13px;
}
#esport-replay .play-lists {
}
#esport-replay .play-lists li {
width: 285px;
}
#esport-replay .play-lists li:nth-child(-n + 3) {
margin-bottom: 24px;
}
#esport-replay .play-lists li a {
display: block;
}
#esport-replay .play-lists li .image-wrap {
position: relative;
width: 100%;
height: 160px;
margin-bottom: 11px;
}
#esport-replay .play-lists li .image-wrap img {
position: absolute;
width: 100%;
height: 100%;
}
#esport-replay .play-lists li .image-wrap .status-wrap {
position: absolute;
width: 100%;
left: 0;
bottom: 0;
padding: 10px;
}
#esport-replay .play-lists li .image-wrap .status-wrap i {
display: block;
width: 20px;
height: 20px;
background-color: gray;
}
#esport-replay .play-lists li .image-wrap .status-wrap .time {
background-color: rgba(0, 0, 0, 0.07);
padding: 3px 5px;
border-radius: 3px;
font-size: 11px;
color: white;
}
#esport-replay .play-lists li .image-wrap .status-wrap i {
}
#esport-replay .play-lists li h3 {
font-size: 15px;
}
/* eSport News */
#esport-news {
}
#esport-news .article-wrap {
align-items: flex-start;
}
#esport-news .article-wrap .left-lists {
width: 472px;
}
#esport-news .article-wrap .left-lists li {
width: 226px;
}
#esport-news .article-wrap .left-lists li a {
display: block;
}
#esport-news .article-wrap .left-lists img {
width: 100%;
height: 132px;
margin-bottom: 9px;
}
#esport-news .article-wrap .left-lists h3 {
font-size: 16px;
font-weight: 500;
}
#esport-news .article-wrap .left-lists p {
font-size: 14px;
color: #777;
}
#esport-news .article-wrap .right-lists {
width: 400px;
}
#esport-news .article-wrap .right-lists li {
position: relative;
margin-bottom: 5px;
}
#esport-news .article-wrap .right-lists li::before {
display: inline-block;
position: absolute;
top: 6px;
width: 4px;
height: 4px;
background-color: gray;
border-radius: 50%;
content: '';
}
#esport-news .article-wrap .right-lists li a {
display: block;
padding-left: 15px;
font-size: 16px;
}
/* eSport Main Right */
#esport-main .right {
float: right;
width: 357px;
height: 2000px;
background-color: gray;
}
/* eSport Expert */
#esport-expert {
margin-top: 24px;
}
#esport-expert .news-lists {
}
#esport-expert .news-lists li {
width: 450px;
}
#esport-expert .news-lists li:nth-child(-n + 2) {
margin-bottom: 15px;
}
#esport-expert .news-lists li a {
}
#esport-expert .news-lists li img {
width: 153px;
height: 86px;
margin-right: 15px;
}
#esport-expert .news-lists .txt-wrap {
width: 268px;
}
#esport-expert .news-lists .txt-wrap h3 {
font-size: 15px;
font-weight: 500;
}
#esport-expert .news-lists .txt-wrap p {
font-size: 14px;
color: #777;
line-height: 19px;
margin-top: 4px;
/* 두 줄이상으로 넘어가면 말줄임 표시를 하겠다 */
display: -webkit-box;
overflow: hidden;
max-height: 38px;
-webkit-line-clamp: 2; /* 두 줄로 설정 */
-webkit-box-orient: vertical;
text-overflow: ellipsis;
}
#esport-expert .news-lists .txt-wrap .source {
font-size: 13px;
color: #777;
}
Review
今日はネイバースポーツホームページの左側エリアで撮影しました.各セクションのarticle要素には、margin-boottomを適用した要素もあれば、適用していない要素もあり、一つ一つ記入するよりもnth-schildセレクタを用いて単行記入を行う方法について理解しました.次に、テキストが2行を超えるときに略語タグを付ける方法を知りました.ただし、絵描きでは適用しにくいかもしれません.
Reference
この問題について(21.08.12), 我々は、より多くの情報をここで見つけました https://velog.io/@pyeonne/21.08.12テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol