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行を超えるときに略語タグを付ける方法を知りました.ただし、絵描きでは適用しにくいかもしれません.