19.[前端开发]Day19-王者荣项目耀实战(二)

01_(掌握)王者荣耀-main-banner展示实现

完整代码

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>王者荣耀-main-news</title>
  <link rel="stylesheet" href="./css/reset.css">
  <link rel="stylesheet" href="./css/common.css">
  <style>
    .main {
      height: 100px;
    }

    .news-section {
      display: flex;
      height: 342px;
    }

    .news-section .banner {
      width: 605px;
      background-color: #000;
    }

    .news-section .banner .image-list {
      display: flex;
      width: 604px;
      overflow: hidden;
    }

    .news-section .banner .image-list .item {
      flex-shrink: 0;
      width: 100%;
    }

    .news-section .banner .image-list .item a {
      display: block;
    }

    .news-section .banner .image-list .item a img {
      width: 100%;
    }

    .news-section .banner .title-list {
      display: flex;
      height: 44px;
      line-height: 44px;
    }

    .news-section .banner .title-list .item {
      flex: 1;
      text-align: center;
    }

    .news-section .banner .title-list .item a {
      display: block;
      font-size: 14px;
      color: #b1b2be;
    }
    .news-section .banner .title-list .item.active a,
    .news-section .banner .title-list .item a:hover {
      color: #f3c258;
      background-color: rgba(255,255,255,.15);
    }

    .news-section .news {
      flex: 1;
      background-color: purple;
    }

    .news-section .download {
      width: 236px;
      background-color: skyblue;
    }

    .news-section .download a {
      display: block;
      background: url(./img/main_sprite.png) no-repeat;
    }

    .news-section .download a.download-btn {
      height: 128px;
      background-position: 0 -219px;
    }

    .news-section .download a.guard-btn {
      height: 106px;
      background-position: 0 -350px;
    }

    .news-section .download a.experience-btn {
      height: 108px;
      background-position: 0 -461px;
    }
  </style>
</head>
<body>
  
  <div class="main main_wrapper">
    <div class="news-section">
      <div class="banner">
        <ul class="image-list">
          <li class="item">
            <a href="">
              <img src="./img/banner_01.jpeg" alt="">
            </a>
          </li>
          <li class="item">
            <a href="">
              <img src="./img/banner_01.jpeg" alt="">
            </a>
          </li>
          <li class="item">
            <a href="">
              <img src="./img/banner_01.jpeg" alt="">
            </a>
          </li>
        </ul>
        <ul class="title-list">
          <li class="item active">
            <a href="#">桑启的旅途故事</a>
          </li>
          <li class="item">
            <a href="#">启示之音抢先听</a>
          </li>
          <li class="item">
            <a href="#">谁成为版本之子</a>
          </li>
          <li class="item">
            <a href="#">观赛体验升级</a>
          </li>
          <li class="item">
            <a href="#">季后赛开战</a>
          </li>
        </ul>
      </div>
      <div class="news">
        
      </div>
      <div class="download">
        <a class="download-btn" href="#"></a>
        <a class="guard-btn" href="#"></a>
        <a class="experience-btn" href="#"></a>
      </div>
    </div>
    <div class="content-section"></div>
    <div class="match-section"></div>
  </div>

</body>
</html>

逐步细节

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>王者荣耀-main-news</title>
  <link rel="stylesheet" href="./css/reset.css">
  <link rel="stylesheet" href="./css/common.css">
  <style>
    .main{
      height: 100px;
    }
    .news-section{
      display: flex;
      height: 342px;
    }
    .news-section .banner{
      width: 605px;
      background-color: rgb(11, 11, 11);
    }
    .news-section .banner .image-list{
      width: 604px;
      display: flex;
      overflow: hidden;
    }
    .news-section .banner .image-list .item{
      flex-shrink: 0;
      width: 100%;
    }
    .news-section .banner .image-list .item a{
      display: block;
    }
    .news-section .banner .image-list .item a img{
      width: 100%;
    }
    .news-section .banner .title-list{
      display: flex;
      height: 44px;
      line-height: 44px;
    }
    .news-section .banner .title-list .item{
      flex: 1;
      text-align: center;
    }
    .news-section .banner .title-list .item a{
      display: block;
      font-size: 14px;
      color: #b1b2be;
    }
    .news-section .banner .title-list .item a:hover{
      color: #f3c258;
      background-color: rgba(255,255,255,.15);
    }




    .news-section .news{
      flex: 1;
      background-color: purple;
    }
    .news-section .download{
      width: 236px;
      background-color: skyblue;
    }
    .news-section .download a{
      display: block;
      background:url(./img/main_sprite.png) no-repeat;
    }
    .news-section .download a.download-btn{
      height: 128px;
      background-position: 0 -219px;
    }
    .news-section .download a.guard-btn{
      height: 106px;
      background-position: 0 -350px;
    }
    .news-section .download a.experience-btn{
      height: 108px;
      background-position: 0 -461px;
    }

  </style>
</head>
<body>
  
  <div class="main main_wrapper">
    <div class="news-section">
      <div class="banner">
        <ul class="image-list">
          <li class="item">
            <a href="#">
              <img src="./img/banner_01.jpeg" alt="">
            </a>
          </li>
          <li class="item">
            <a href="#">
              <img src="./img/banner_01.jpeg" alt="">
            </a>
          </li>
        </ul>
        <ul class="title-list">
          <li class="item">
            <a href="#">桑启的旅途故事</a>
          </li>
          <li class="item">
            <a href="#">桑启的旅途故事</a>
          </li>
          <li class="item">
            <a href="#">桑启的旅途故事</a>
          </li>
          <li class="item">
            <a href="#">桑启的旅途故事</a>
          </li>
          <li class="item">
            <a href="#">桑启的旅途故事</a>
          </li>

        </ul>
      </div>
      <div class="news"></div>
      <div class="download">
        <a class="download-btn" href="#"></a>
        <a class="guard-btn" href="#"></a>
        <a class="experience-btn" href="#"></a>
      </div>
    </div>
    <div class="content-section"></div>
    <div class="match-section"></div>
  </div>

</body>
</html>

02_(掌握)王者荣耀-main-news结构搭建和背景

完整代码

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>王者荣耀-main-news</title>
  <link rel="stylesheet" href="./css/reset.css">
  <link rel="stylesheet" href="./css/common.css">
  <style>
    .main {
      height: 100px;
    }

    .news-section {
      display: flex;
      height: 342px;
      background: url(./img/news_bg.png) no-repeat;
    }

    .news-section .banner {
      width: 605px;
    }

    .news-section .banner .image-list {
      display: flex;
      width: 604px;
      overflow: hidden;
    }

    .news-section .banner .image-list .item {
      flex-shrink: 0;
      width: 100%;
    }

    .news-section .banner .image-list .item a {
      display: block;
    }

    .news-section .banner .image-list .item a img {
      width: 100%;
    }

    .news-section .banner .title-list {
      display: flex;
      height: 44px;
      line-height: 44px;
    }

    .news-section .banner .title-list .item {
      flex: 1;
      text-align: center;
    }

    .news-section .banner .title-list .item a {
      display: block;
      color: #b1b2be;
    }
    .news-section .banner .title-list .item.active a,
    .news-section .banner .title-list .item a:hover {
      color: #f3c258;
      background-color: rgba(255,255,255,.15);
    }

    .news-section .news {
      flex: 1;
      overflow: hidden;
      padding: 0 17px;
    }

    .news-section .news .title-list {
      display: flex;
      height: 48px;
      border-bottom: 1px solid #000;
    }

    .news-section .news .title-list .item {
      width: 52px;
    }

    .news-section .news .title-list .item a {
      display: block;
      height: 48px;
      box-sizing: border-box;
      line-height: 48px;
      color: #b8b9c5;
      text-align: center;

      transition: border-bottom 200ms ease-in;
    }

    .news-section .news .title-list .item.active a,
    .news-section .news .title-list .item:not(.more) a:hover {
      color: #f3c258;
      border-bottom: 3px solid #f3c258;
    }

    /* .news-section .news .title-list .item.more a:hover {
      color: #b8b9c5;
      border-bottom-color: transparent;
    } */

    .news-section .news .notice {
      height: 36px;
      line-height: 36px;
      margin-top: 18px;
      padding: 0 15px;
      background: #414046;
    }

    .news-section .news .notice > a {
      display: block;
      /* padding-right: 50px; */
      font-size: 18px;
      color: #f3c258;

      /* white-space: nowrap;
      text-overflow: ellipsis;
      overflow: hidden; */
    }

    .news-section .news .news-list {
      margin-top: 12px;
    }

    .news-section .news .news-list .item {
      display: flex;
      align-items: center;
      margin-bottom: 11px;
    }

    .news-section .news .news-list .item .desc {
      flex: 1;
      color: #b8b9c5;

      white-space: nowrap;
      
    }

    .news-section .news .news-list .item .date {
      padding: 0 8px;
      color: #999;
      font-size: 12px;
    }

    .news-section .download {
      width: 236px;
      background-color: skyblue;
    }

    .news-section .download a {
      display: block;
      background: url(./img/main_sprite.png) no-repeat;
    }

    .news-section .download a.download-btn {
      height: 128px;
      background-position: 0 -219px;
    }

    .news-section .download a.guard-btn {
      height: 106px;
      background-position: 0 -350px;
    }

    .news-section .download a.experience-btn {
      height: 108px;
      background-position: 0 -461px;
    }
  </style>
</head>
<body>
  
  <div class="main main_wrapper">
    <div class="news-section">
      <div class="banner">
        <ul class="image-list">
          <li class="item">
            <a href="">
              <img src="./img/banner_01.jpeg" alt="">
            </a>
          </li>
          <li class="item">
            <a href="">
              <img src="./img/banner_01.jpeg" alt="">
            </a>
          </li>
          <li class="item">
            <a href="">
              <img src="./img/banner_01.jpeg" alt="">
            </a>
          </li>
        </ul>
        <ul class="title-list">
          <li class="item active">
            <a href="#">桑启的旅途故事</a>
          </li>
          <li class="item">
            <a href="#">启示之音抢先听</a>
          </li>
          <li class="item">
            <a href="#">谁成为版本之子</a>
          </li>
          <li class="item">
            <a href="#">观赛体验升级</a>
          </li>
          <li class="item">
            <a href="#">季后赛开战</a>
          </li>
        </ul>
      </div>
      <div class="news">
        <ul class="title-list">
          <li class="item active">
            <a href="">热门</a>
          </li>
          <li class="item">
            <a href="">新闻</a>
          </li>
          <li class="item">
            <a href="">公告</a>
          </li>
          <li class="item">
            <a href="">活动</a>
          </li>
          <li class="item">
            <a href="">赛事</a>
          </li>
          <li class="item more">
            <a href="">...</a>
          </li>
        </ul>

        <p class="notice">
          <a class="nowrap_ellipsis" href="#">4月21日全服不停机更新公告</a>
        </p>

        <ul class="news-list">
          <li class="item">
            <a class="desc nowrap_ellipsis" href="#">
              <i class="news_type news_type_hot">热门</i>
              最新BUG修复进展【老亚瑟的答疑时间】
            </a>
            <span class="date">04/19</span>
          </li>
          <li class="item">
            <a class="desc nowrap_ellipsis" href="#">
              <i class="news_type news_type_hot">热门</i>
              最新BUG修复进展【老亚瑟的答疑时间】
            </a>
            <span class="date">04/19</span>
          </li>
          <li class="item">
            <a class="desc nowrap_ellipsis" href="#">
              <i class="news_type news_type_notice">公告</i>
              最新BUG修复进展【老亚瑟的答疑时间】
            </a>
            <span class="date">04/19</span>
          </li>
          <li class="item">
            <a class="desc nowrap_ellipsis news_type news_type_hot" href="#">
              <!-- <i class="news_type news_type_hot">热门</i> -->
              最新BUG修复进展【老亚瑟的答疑时间】
            </a>
            <span class="date">04/19</span>
          </li>
          <li class="item">
            <a class="desc nowrap_ellipsis news_type news_type_news" href="#">
              最新BUG修复进展【老亚瑟的答疑时间】
            </a>
            <span class="date">04/19</span>
          </li>
          <li class="item">
            <a class="desc nowrap_ellipsis news_type news_type_hot" href="#">
              最新BUG修复进展【老亚瑟的答疑时间】
            </a>
            <span class="date">04/19</span>
          </li>
          <li class="item">
            <a class="desc nowrap_ellipsis" href="#">
              <i class="news_type news_type_notice">公告</i>
              最新BUG修复进展【老亚瑟的答疑时间】
            </a>
            <span class="date">04/19</span>
          </li>
        </ul>
        
      </div>
      <div class="download">
        <a class="download-btn" href="#"></a>
        <a class="guard-btn" href="#"></a>
        <a class="experience-btn" href="#"></a>
      </div>
    </div>
    <div class="content-section"></div>
    <div class="match-section"></div>
  </div>

</body>
</html>

具体细节

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>王者荣耀-main-news</title>
  <link rel="stylesheet" href="./css/reset.css">
  <link rel="stylesheet" href="./css/common.css">
  <style>
    .main {
      height: 100px;
    }

    .news-section {
      display: flex;
      height: 342px;
      background: url(./img/news_bg.png) no-repeat;
    }

    .news-section .banner {
      width: 605px;
    }

    .news-section .banner .image-list {
      display: flex;
      width: 604px;
      overflow: hidden;
    }

    .news-section .banner .image-list .item {
      flex-shrink: 0;
      width: 100%;
    }

    .news-section .banner .image-list .item a {
      display: block;
    }

    .news-section .banner .image-list .item a img {
      width: 100%;
    }

    .news-section .banner .title-list {
      display: flex;
      height: 44px;
      line-height: 44px;
    }

    .news-section .banner .title-list .item {
      flex: 1;
      text-align: center;
    }

    .news-section .banner .title-list .item a {
      display: block;
      color: #b1b2be;
    }
    .news-section .banner .title-list .item.active a,
    .news-section .banner .title-list .item a:hover {
      color: #f3c258;
      background-color: rgba(255,255,255,.15);
    }

    .news-section .news {
      flex: 1;
      overflow: hidden;
      padding: 0 17px;
    }


    .news-section .download {
      width: 236px;
      background-color: skyblue;
    }

    .news-section .download a {
      display: block;
      background: url(./img/main_sprite.png) no-repeat;
    }

    .news-section .download a.download-btn {
      height: 128px;
      background-position: 0 -219px;
    }

    .news-section .download a.guard-btn {
      height: 106px;
      background-position: 0 -350px;
    }

    .news-section .download a.experience-btn {
      height: 108px;
      background-position: 0 -461px;
    }
  </style>
</head>
<body>
  
  <div class="main main_wrapper">
    <div class="news-section">
      <div class="banner">
        <ul class="image-list">
          <li class="item">
            <a href="">
              <img src="./img/banner_01.jpeg" alt="">
            </a>
          </li>
          <li class="item">
            <a href="">
              <img src="./img/banner_01.jpeg" alt="">
            </a>
          </li>
          <li class="item">
            <a href="">
              <img src="./img/banner_01.jpeg" alt="">
            </a>
          </li>
        </ul>
        <ul class="title-list">
          <li class="item active">
            <a href="#">桑启的旅途故事</a>
          </li>
          <li class="item">
            <a href="#">启示之音抢先听</a>
          </li>
          <li class="item">
            <a href="#">谁成为版本之子</a>
          </li>
          <li class="item">
            <a href="#">观赛体验升级</a>
          </li>
          <li class="item">
            <a href="#">季后赛开战</a>
          </li>
        </ul>
      </div>
      <div class="news">
        111
        <ul class="title-list">
       
        </ul>

        <p class="notice">
          <a class="nowrap_ellipsis" href="#">4月21日全服不停机更新公告</a>
        </p>

        <ul class="news-list">

        </ul>
        
      </div>
      <div class="download">
        <a class="download-btn" href="#"></a>
        <a class="guard-btn" href="#"></a>
        <a class="experience-btn" href="#"></a>
      </div>
    </div>
    <div class="content-section"></div>
    <div class="match-section"></div>
  </div>

</body>
</html>

03_(掌握)王者荣耀-main-news-titles展示

04_(掌握)王者荣耀-main-titles-border

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>王者荣耀-main-news</title>
  <link rel="stylesheet" href="./css/reset.css">
  <link rel="stylesheet" href="./css/common.css">
  <style>
    .main {
      height: 100px;
    }

    .news-section {
      display: flex;
      height: 342px;
      background: url(./img/news_bg.png) no-repeat;
    }

    .news-section .banner {
      width: 605px;
    }

    .news-section .banner .image-list {
      display: flex;
      width: 604px;
      overflow: hidden;
    }

    .news-section .banner .image-list .item {
      flex-shrink: 0;
      width: 100%;
    }

    .news-section .banner .image-list .item a {
      display: block;
    }

    .news-section .banner .image-list .item a img {
      width: 100%;
    }

    .news-section .banner .title-list {
      display: flex;
      height: 44px;
      line-height: 44px;
    }

    .news-section .banner .title-list .item {
      flex: 1;
      text-align: center;
    }

    .news-section .banner .title-list .item a {
      display: block;
      color: #b1b2be;
    }
    .news-section .banner .title-list .item.active a,
    .news-section .banner .title-list .item a:hover {
      color: #f3c258;
      background-color: rgba(255,255,255,.15);
    }

    .news-section .news {
      flex: 1;
      overflow: hidden;
      padding: 0 17px;
    }

    .news-section .news .title-list {
      display: flex;
      height: 48px;
      border-bottom: 1px solid #000;
    }

    .news-section .news .title-list .item {
      width: 52px;
    }

    .news-section .news .title-list .item a {
      display: block;
      height: 48px;
      box-sizing: border-box;
      line-height: 48px;
      color: #b8b9c5;
      text-align: center;

      transition: border-bottom 200ms ease-in;
    }

    .news-section .news .title-list .item.active a,
    .news-section .news .title-list .item:not(.more) a:hover {
      color: #f3c258;
      border-bottom: 3px solid #f3c258;
    }

    /* .news-section .news .title-list .item.more a:hover {
      color: #b8b9c5;
      border-bottom-color: transparent;
    } */

 

    .news-section .download {
      width: 236px;
      background-color: skyblue;
    }

    .news-section .download a {
      display: block;
      background: url(./img/main_sprite.png) no-repeat;
    }

    .news-section .download a.download-btn {
      height: 128px;
      background-position: 0 -219px;
    }

    .news-section .download a.guard-btn {
      height: 106px;
      background-position: 0 -350px;
    }

    .news-section .download a.experience-btn {
      height: 108px;
      background-position: 0 -461px;
    }
  </style>
</head>
<body>
  
  <div class="main main_wrapper">
    <div class="news-section">
      <div class="banner">
        <ul class="image-list">
          <li class="item">
            <a href="">
              <img src="./img/banner_01.jpeg" alt="">
            </a>
          </li>
          <li class="item">
            <a href="">
              <img src="./img/banner_01.jpeg" alt="">
            </a>
          </li>
          <li class="item">
            <a href="">
              <img src="./img/banner_01.jpeg" alt="">
            </a>
          </li>
        </ul>
        <ul class="title-list">
          <li class="item active">
            <a href="#">桑启的旅途故事</a>
          </li>
          <li class="item">
            <a href="#">启示之音抢先听</a>
          </li>
          <li class="item">
            <a href="#">谁成为版本之子</a>
          </li>
          <li class="item">
            <a href="#">观赛体验升级</a>
          </li>
          <li class="item">
            <a href="#">季后赛开战</a>
          </li>
        </ul>
      </div>
      <div class="news">
        <ul class="title-list">
          <li class="item active">
            <a href="">热门</a>
          </li>
          <li class="item">
            <a href="">新闻</a>
          </li>
          <li class="item">
            <a href="">公告</a>
          </li>
          <li class="item">
            <a href="">活动</a>
          </li>
          <li class="item">
            <a href="">赛事</a>
          </li>
          <li class="item more">
            <a href="">...</a>
          </li>
        </ul>

        <p class="notice">
          <a class="nowrap_ellipsis" href="#">4月21日全服不停机更新公告</a>
        </p>

        <ul class="news-list">
       
        </ul>
        
      </div>
      <div class="download">
        <a class="download-btn" href="#"></a>
        <a class="guard-btn" href="#"></a>
        <a class="experience-btn" href="#"></a>
      </div>
    </div>
    <div class="content-section"></div>
    <div class="match-section"></div>
  </div>

</body>
</html>

05_(掌握)王者荣耀-main-news-notice实现

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>王者荣耀-main-news</title>
  <link rel="stylesheet" href="./css/reset.css">
  <link rel="stylesheet" href="./css/common.css">
  <style>
    .main {
      height: 100px;
    }

    .news-section {
      display: flex;
      height: 342px;
      background: url(./img/news_bg.png) no-repeat;
    }

    .news-section .banner {
      width: 605px;
    }

    .news-section .banner .image-list {
      display: flex;
      width: 604px;
      overflow: hidden;
    }

    .news-section .banner .image-list .item {
      flex-shrink: 0;
      width: 100%;
    }

    .news-section .banner .image-list .item a {
      display: block;
    }

    .news-section .banner .image-list .item a img {
      width: 100%;
    }

    .news-section .banner .title-list {
      display: flex;
      height: 44px;
      line-height: 44px;
    }

    .news-section .banner .title-list .item {
      flex: 1;
      text-align: center;
    }

    .news-section .banner .title-list .item a {
      display: block;
      color: #b1b2be;
    }
    .news-section .banner .title-list .item.active a,
    .news-section .banner .title-list .item a:hover {
      color: #f3c258;
      background-color: rgba(255,255,255,.15);
    }

    .news-section .news {
      flex: 1;
      overflow: hidden;
      padding: 0 17px;
    }

    .news-section .news .title-list {
      display: flex;
      height: 48px;
      border-bottom: 1px solid #000;
    }

    .news-section .news .title-list .item {
      width: 52px;
    }

    .news-section .news .title-list .item a {
      display: block;
      height: 48px;
      box-sizing: border-box;
      line-height: 48px;
      color: #b8b9c5;
      text-align: center;

      transition: border-bottom 200ms ease-in;
    }

    .news-section .news .title-list .item.active a,
    .news-section .news .title-list .item:not(.more) a:hover {
      color: #f3c258;
      border-bottom: 3px solid #f3c258;
    }

    /* .news-section .news .title-list .item.more a:hover {
      color: #b8b9c5;
      border-bottom-color: transparent;
    } */

    .news-section .news .notice {
      height: 36px;
      line-height: 36px;
      margin-top: 18px;
      padding: 0 15px;
      background: #414046;
    }

    .news-section .news .notice > a {
      display: block;
      /* padding-right: 50px; */
      font-size: 18px;
      color: #f3c258;

      /* white-space: nowrap;
      text-overflow: ellipsis;
      overflow: hidden; */
    }

    .news-section .download {
      width: 236px;
      background-color: skyblue;
    }

    .news-section .download a {
      display: block;
      background: url(./img/main_sprite.png) no-repeat;
    }

    .news-section .download a.download-btn {
      height: 128px;
      background-position: 0 -219px;
    }

    .news-section .download a.guard-btn {
      height: 106px;
      background-position: 0 -350px;
    }

    .news-section .download a.experience-btn {
      height: 108px;
      background-position: 0 -461px;
    }
  </style>
</head>
<body>
  
  <div class="main main_wrapper">
    <div class="news-section">
      <div class="banner">
        <ul class="image-list">
          <li class="item">
            <a href="">
              <img src="./img/banner_01.jpeg" alt="">
            </a>
          </li>
          <li class="item">
            <a href="">
              <img src="./img/banner_01.jpeg" alt="">
            </a>
          </li>
          <li class="item">
            <a href="">
              <img src="./img/banner_01.jpeg" alt="">
            </a>
          </li>
        </ul>
        <ul class="title-list">
          <li class="item active">
            <a href="#">桑启的旅途故事</a>
          </li>
          <li class="item">
            <a href="#">启示之音抢先听</a>
          </li>
          <li class="item">
            <a href="#">谁成为版本之子</a>
          </li>
          <li class="item">
            <a href="#">观赛体验升级</a>
          </li>
          <li class="item">
            <a href="#">季后赛开战</a>
          </li>
        </ul>
      </div>
      <div class="news">
        <ul class="title-list">
          <li class="item active">
            <a href="">热门</a>
          </li>
          <li class="item">
            <a href="">新闻</a>
          </li>
          <li class="item">
            <a href="">公告</a>
          </li>
          <li class="item">
            <a href="">活动</a>
          </li>
          <li class="item">
            <a href="">赛事</a>
          </li>
          <li class="item more">
            <a href="">...</a>
          </li>
        </ul>

        <p class="notice">
          <a class="nowrap_ellipsis" href="#">4月21日全服不停机更新公告</a>
        </p>

        <ul class="news-list">
       
        </ul>
        
      </div>
      <div class="download">
        <a class="download-btn" href="#"></a>
        <a class="guard-btn" href="#"></a>
        <a class="experience-btn" href="#"></a>
      </div>
    </div>
    <div class="content-section"></div>
    <div class="match-section"></div>
  </div>

</body>
</html>

06_(掌握)王者荣耀-main-news-list实现

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>王者荣耀-main-news</title>
  <link rel="stylesheet" href="./css/reset.css">
  <link rel="stylesheet" href="./css/common.css">
  <style>
    .main {
      height: 100px;
    }

    .news-section {
      display: flex;
      height: 342px;
      background: url(./img/news_bg.png) no-repeat;
    }

    .news-section .banner {
      width: 605px;
    }

    .news-section .banner .image-list {
      display: flex;
      width: 604px;
      overflow: hidden;
    }

    .news-section .banner .image-list .item {
      flex-shrink: 0;
      width: 100%;
    }

    .news-section .banner .image-list .item a {
      display: block;
    }

    .news-section .banner .image-list .item a img {
      width: 100%;
    }

    .news-section .banner .title-list {
      display: flex;
      height: 44px;
      line-height: 44px;
    }

    .news-section .banner .title-list .item {
      flex: 1;
      text-align: center;
    }

    .news-section .banner .title-list .item a {
      display: block;
      color: #b1b2be;
    }
    .news-section .banner .title-list .item.active a,
    .news-section .banner .title-list .item a:hover {
      color: #f3c258;
      background-color: rgba(255,255,255,.15);
    }

    .news-section .news {
      flex: 1;
      overflow: hidden;
      padding: 0 17px;
    }

    .news-section .news .title-list {
      display: flex;
      height: 48px;
      border-bottom: 1px solid #000;
    }

    .news-section .news .title-list .item {
      width: 52px;
    }

    .news-section .news .title-list .item a {
      display: block;
      height: 48px;
      box-sizing: border-box;
      line-height: 48px;
      color: #b8b9c5;
      text-align: center;

      transition: border-bottom 200ms ease-in;
    }

    .news-section .news .title-list .item.active a,
    .news-section .news .title-list .item:not(.more) a:hover {
      color: #f3c258;
      border-bottom: 3px solid #f3c258;
    }

    /* .news-section .news .title-list .item.more a:hover {
      color: #b8b9c5;
      border-bottom-color: transparent;
    } */

    .news-section .news .notice {
      height: 36px;
      line-height: 36px;
      margin-top: 18px;
      padding: 0 15px;
      background: #414046;
    }

    .news-section .news .notice > a {
      display: block;
      /* padding-right: 50px; */
      font-size: 18px;
      color: #f3c258;

      /* white-space: nowrap;
      text-overflow: ellipsis;
      overflow: hidden; */
    }

    .news-section .news .news-list {
      margin-top: 12px;
    }

    .news-section .news .news-list .item {
      display: flex;
      align-items: center;
      margin-bottom: 11px;
    }

    .news-section .news .news-list .item .desc {
      flex: 1;
      color: #b8b9c5;

      white-space: nowrap;
      
    }

    .news-section .news .news-list .item .date {
      padding: 0 8px;
      color: #999;
      font-size: 12px;
    }

    .news-section .download {
      width: 236px;
      background-color: skyblue;
    }

    .news-section .download a {
      display: block;
      background: url(./img/main_sprite.png) no-repeat;
    }

    .news-section .download a.download-btn {
      height: 128px;
      background-position: 0 -219px;
    }

    .news-section .download a.guard-btn {
      height: 106px;
      background-position: 0 -350px;
    }

    .news-section .download a.experience-btn {
      height: 108px;
      background-position: 0 -461px;
    }
  </style>
</head>
<body>
  
  <div class="main main_wrapper">
    <div class="news-section">
      <div class="banner">
        <ul class="image-list">
          <li class="item">
            <a href="">
              <img src="./img/banner_01.jpeg" alt="">
            </a>
          </li>
          <li class="item">
            <a href="">
              <img src="./img/banner_01.jpeg" alt="">
            </a>
          </li>
          <li class="item">
            <a href="">
              <img src="./img/banner_01.jpeg" alt="">
            </a>
          </li>
        </ul>
        <ul class="title-list">
          <li class="item active">
            <a href="#">桑启的旅途故事</a>
          </li>
          <li class="item">
            <a href="#">启示之音抢先听</a>
          </li>
          <li class="item">
            <a href="#">谁成为版本之子</a>
          </li>
          <li class="item">
            <a href="#">观赛体验升级</a>
          </li>
          <li class="item">
            <a href="#">季后赛开战</a>
          </li>
        </ul>
      </div>
      <div class="news">
        <ul class="title-list">
          <li class="item active">
            <a href="">热门</a>
          </li>
          <li class="item">
            <a href="">新闻</a>
          </li>
          <li class="item">
            <a href="">公告</a>
          </li>
          <li class="item">
            <a href="">活动</a>
          </li>
          <li class="item">
            <a href="">赛事</a>
          </li>
          <li class="item more">
            <a href="">...</a>
          </li>
        </ul>

        <p class="notice">
          <a class="nowrap_ellipsis" href="#">4月21日全服不停机更新公告</a>
        </p>

        <ul class="news-list">
          <li class="item">
            <a class="desc nowrap_ellipsis" href="#">
              <i class="news_type news_type_hot">热门</i>
              最新BUG修复进展【老亚瑟的答疑时间】
            </a>
            <span class="date">04/19</span>
          </li>
          <li class="item">
            <a class="desc nowrap_ellipsis" href="#">
              <i class="news_type news_type_hot">热门</i>
              最新BUG修复进展【老亚瑟的答疑时间】
            </a>
            <span class="date">04/19</span>
          </li>
          <li class="item">
            <a class="desc nowrap_ellipsis" href="#">
              <i class="news_type news_type_notice">公告</i>
              最新BUG修复进展【老亚瑟的答疑时间】
            </a>
            <span class="date">04/19</span>
          </li>
          <li class="item">
            <a class="desc nowrap_ellipsis news_type news_type_hot" href="#">
              <!-- <i class="news_type news_type_hot">热门</i> -->
              最新BUG修复进展【老亚瑟的答疑时间】
            </a>
            <span class="date">04/19</span>
          </li>
          <li class="item">
            <a class="desc nowrap_ellipsis news_type news_type_news" href="#">
              最新BUG修复进展【老亚瑟的答疑时间】
            </a>
            <span class="date">04/19</span>
          </li>
          <li class="item">
            <a class="desc nowrap_ellipsis news_type news_type_hot" href="#">
              最新BUG修复进展【老亚瑟的答疑时间】
            </a>
            <span class="date">04/19</span>
          </li>
          <li class="item">
            <a class="desc nowrap_ellipsis" href="#">
              <i class="news_type news_type_notice">公告</i>
              最新BUG修复进展【老亚瑟的答疑时间】
            </a>
            <span class="date">04/19</span>
          </li>
        </ul>
        
      </div>
      <div class="download">
        <a class="download-btn" href="#"></a>
        <a class="guard-btn" href="#"></a>
        <a class="experience-btn" href="#"></a>
      </div>
    </div>
    <div class="content-section"></div>
    <div class="match-section"></div>
  </div>

</body>
</html>

07_(掌握)王者荣耀-新闻图标的封装过程

注意:对于会反复用到的样式我们应该写到common.css里面,进行复用

/* common.css公共的样式 */
/* body的公共样式 */
body {
  font: 14px/1.5 "Microsoft YaHei",Tahoma,"simsun",sans-serif;
  color: #333;
}

/* wrapper中间包裹的区域 */
.top_wrapper {
  width: 980px;
  margin: 0 auto;
}

.header_wrapper {
  width: 1300px;
  margin: 0 auto;
}

.main_wrapper {
  width: 1200px;
  margin: 0 auto;
}

/* 文字不换行显示3行代码 */
.nowrap_ellipsis {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

/* 新闻类型的图标 */
/* .news_type {
  display: inline-block;

  width: 32px;
  height: 16px;
  margin-right: 2px;

  line-height: 16px;
  text-align: center;
  font-size: 12px;

  border: 1px solid #f00;
  border-radius: 2px;
}

.news_type_hot {
  color: #ff3636;
  border-color: #ff3636;
}

.news_type_notice {
  color: #f4be19;
  border-color: #f4be19;
}

.news_type_news {
  color: #1e96ab;
  border-color: #1e96ab;
} */

.news_type::before {
  display: inline-block;
  width: 32px;
  height: 16px;
  margin-right: 2px;

  line-height: 16px;
  text-align: center;
  font-size: 12px;

  border: 1px solid #f00;
  border-radius: 2px;
}

.news_type_hot::before {
  content: "热门";
  color: #ff3636;
  border-color: #ff3636;
}

.news_type_notice::before {
  content: "公告";
  color: #f4be19;
  border-color: #f4be19;
}

.news_type_news::before {
  content: "新闻";
  color: #1e96ab;
  border-color: #1e96ab;
}

reset.css

/* reset.css样式重置文件 */
/* margin/padding重置 */
body, h1, h2, h3, ul, ol, li, p, dl, dt, dd {
  padding: 0;
  margin: 0;
}

/* a元素重置 */
a {
  text-decoration: none;
  color: #333;
}

/* img的vertical-align重置 */
img {
  vertical-align: top;
}

/* ul, ol, li重置 */
ul, ol, li {
  list-style: none;
}

/* 对斜体元素重置 */
i, em {
  font-style: normal;
}

05_page_main_news_news

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>王者荣耀-main-news</title>
  <link rel="stylesheet" href="./css/reset.css">
  <link rel="stylesheet" href="./css/common.css">
  <style>
    .main {
      height: 100px;
    }

    .news-section {
      display: flex;
      height: 342px;
      background: url(./img/news_bg.png) no-repeat;
    }

    .news-section .banner {
      width: 605px;
    }

    .news-section .banner .image-list {
      display: flex;
      width: 604px;
      overflow: hidden;
    }

    .news-section .banner .image-list .item {
      flex-shrink: 0;
      width: 100%;
    }

    .news-section .banner .image-list .item a {
      display: block;
    }

    .news-section .banner .image-list .item a img {
      width: 100%;
    }

    .news-section .banner .title-list {
      display: flex;
      height: 44px;
      line-height: 44px;
    }

    .news-section .banner .title-list .item {
      flex: 1;
      text-align: center;
    }

    .news-section .banner .title-list .item a {
      display: block;
      color: #b1b2be;
    }
    .news-section .banner .title-list .item.active a,
    .news-section .banner .title-list .item a:hover {
      color: #f3c258;
      background-color: rgba(255,255,255,.15);
    }

    .news-section .news {
      flex: 1;
      overflow: hidden;
      padding: 0 17px;
    }

    .news-section .news .title-list {
      display: flex;
      height: 48px;
      border-bottom: 1px solid #000;
    }

    .news-section .news .title-list .item {
      width: 52px;
    }

    .news-section .news .title-list .item a {
      display: block;
      height: 48px;
      box-sizing: border-box;
      line-height: 48px;
      color: #b8b9c5;
      text-align: center;

      transition: border-bottom 200ms ease-in;
    }

    .news-section .news .title-list .item.active a,
    .news-section .news .title-list .item:not(.more) a:hover {
      color: #f3c258;
      border-bottom: 3px solid #f3c258;
    }

    /* .news-section .news .title-list .item.more a:hover {
      color: #b8b9c5;
      border-bottom-color: transparent;
    } */

    .news-section .news .notice {
      height: 36px;
      line-height: 36px;
      margin-top: 18px;
      padding: 0 15px;
      background: #414046;
    }

    .news-section .news .notice > a {
      display: block;
      /* padding-right: 50px; */
      font-size: 18px;
      color: #f3c258;

      /* white-space: nowrap;
      text-overflow: ellipsis;
      overflow: hidden; */
    }

    .news-section .news .news-list {
      margin-top: 12px;
    }

    .news-section .news .news-list .item {
      display: flex;
      align-items: center;
      margin-bottom: 11px;
    }

    .news-section .news .news-list .item .desc {
      flex: 1;
      color: #b8b9c5;

      white-space: nowrap;
      
    }

    .news-section .news .news-list .item .date {
      padding: 0 8px;
      color: #999;
      font-size: 12px;
    }

    .news-section .download {
      width: 236px;
      background-color: skyblue;
    }

    .news-section .download a {
      display: block;
      background: url(./img/main_sprite.png) no-repeat;
    }

    .news-section .download a.download-btn {
      height: 128px;
      background-position: 0 -219px;
    }

    .news-section .download a.guard-btn {
      height: 106px;
      background-position: 0 -350px;
    }

    .news-section .download a.experience-btn {
      height: 108px;
      background-position: 0 -461px;
    }
  </style>
</head>
<body>
  
  <div class="main main_wrapper">
    <div class="news-section">
      <div class="banner">
        <ul class="image-list">
          <li class="item">
            <a href="">
              <img src="./img/banner_01.jpeg" alt="">
            </a>
          </li>
          <li class="item">
            <a href="">
              <img src="./img/banner_01.jpeg" alt="">
            </a>
          </li>
          <li class="item">
            <a href="">
              <img src="./img/banner_01.jpeg" alt="">
            </a>
          </li>
        </ul>
        <ul class="title-list">
          <li class="item active">
            <a href="#">桑启的旅途故事</a>
          </li>
          <li class="item">
            <a href="#">启示之音抢先听</a>
          </li>
          <li class="item">
            <a href="#">谁成为版本之子</a>
          </li>
          <li class="item">
            <a href="#">观赛体验升级</a>
          </li>
          <li class="item">
            <a href="#">季后赛开战</a>
          </li>
        </ul>
      </div>
      <div class="news">
        <ul class="title-list">
          <li class="item active">
            <a href="">热门</a>
          </li>
          <li class="item">
            <a href="">新闻</a>
          </li>
          <li class="item">
            <a href="">公告</a>
          </li>
          <li class="item">
            <a href="">活动</a>
          </li>
          <li class="item">
            <a href="">赛事</a>
          </li>
          <li class="item more">
            <a href="">...</a>
          </li>
        </ul>

        <p class="notice">
          <a class="nowrap_ellipsis" href="#">4月21日全服不停机更新公告</a>
        </p>

        <ul class="news-list">
          <li class="item">
            <a class="desc nowrap_ellipsis" href="#">
              <i class="news_type news_type_hot">热门</i>
              最新BUG修复进展【老亚瑟的答疑时间】
            </a>
            <span class="date">04/19</span>
          </li>
          <li class="item">
            <a class="desc nowrap_ellipsis" href="#">
              <i class="news_type news_type_hot">热门</i>
              最新BUG修复进展【老亚瑟的答疑时间】
            </a>
            <span class="date">04/19</span>
          </li>
          <li class="item">
            <a class="desc nowrap_ellipsis" href="#">
              <i class="news_type news_type_notice">公告</i>
              最新BUG修复进展【老亚瑟的答疑时间】
            </a>
            <span class="date">04/19</span>
          </li>
          <li class="item">
            <a class="desc nowrap_ellipsis news_type news_type_hot" href="#">
              <!-- <i class="news_type news_type_hot">热门</i> -->
              最新BUG修复进展【老亚瑟的答疑时间】
            </a>
            <span class="date">04/19</span>
          </li>
          <li class="item">
            <a class="desc nowrap_ellipsis news_type news_type_news" href="#">
              最新BUG修复进展【老亚瑟的答疑时间】
            </a>
            <span class="date">04/19</span>
          </li>
          <li class="item">
            <a class="desc nowrap_ellipsis news_type news_type_hot" href="#">
              最新BUG修复进展【老亚瑟的答疑时间】
            </a>
            <span class="date">04/19</span>
          </li>
          <li class="item">
            <a class="desc nowrap_ellipsis" href="#">
              <i class="news_type news_type_notice">公告</i>
              最新BUG修复进展【老亚瑟的答疑时间】
            </a>
            <span class="date">04/19</span>
          </li>
        </ul>
        
      </div>
      <div class="download">
        <a class="download-btn" href="#"></a>
        <a class="guard-btn" href="#"></a>
        <a class="experience-btn" href="#"></a>
      </div>
    </div>
    <div class="content-section"></div>
    <div class="match-section"></div>
  </div>

</body>
</html>

08_(掌握)王者荣耀-main-入口的展示实现

完整代码

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>王者荣耀-main-news</title>
  <link rel="stylesheet" href="./css/reset.css">
  <link rel="stylesheet" href="./css/common.css">
  <style>
    .main .entrance-section {
      display: flex;
      justify-content: space-between;
      margin-top: 20px;
    }

    .main .entrance-section .item {
      width: 291px;
      height: 134px;
    }

    .main .entrance-section a {
      display: block;
      height: 100%;
      overflow: hidden;
    }

    .main .entrance-section a img {
      width: 100%;
      height: 100%;
      transition: transform 400ms ease;
    }

    .main .entrance-section a:hover img {
      transform: scale(1.1);
    }
  </style>
</head>
<body>
  
  <div class="main main_wrapper">
    <ul class="entrance-section">
      <li class="item">
        <a href="#">
          <img src="./img/entrance_01.jpg" alt="">
        </a>
      </li>
      <li class="item">
        <a href="#">
          <img src="./img/entrance_02.png" alt="">
        </a>
      </li>
      <li class="item">
        <a href="#">
          <img src="./img/entrance_03.jpg" alt="">
        </a>
      </li>
      <li class="item">
        <a href="#">
          <img src="./img/entrance_04.png" alt="">
        </a>
      </li>
    </ul>
  </div>

</body>
</html>

09_(掌握)王者荣耀-main-内容区域划分和header实现

完整代码

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>王者荣耀-main-news</title>
  <link rel="stylesheet" href="./css/reset.css">
  <link rel="stylesheet" href="./css/common.css">
  <style>
    .main .section-content {
      display: flex;
      justify-content: space-between;
    }

    .main .section-content .left-content {
      width: 872px;
      height: 1000px;
    }
    .main .section-content .right-content {
      width: 295px;
      height: 500px;
    }
  </style>
</head>
<body>
  
  <div class="main main_wrapper">
    <div class="section-content">
      <div class="left-content">
        <div class="content-center">
          <div class="section_header">
            <div class="header_left">
              <h3 class="title">内容中心</h3>
            </div>
            <div class="header_right" href="#">
              <a class="more" href="#">更多</a>
            </div>
          </div>
          <div class="tab_control">
            <div class="item active">精品栏目</div>
            <div class="line"></div>
            <div class="item">赛事精品</div>
            <div class="line"></div>
            <div class="item">英雄攻略</div>
          </div>
          <div class="tab_keyword">
            <div class="item active">最新</div>
            <div class="item">马菠萝奇闻录</div>
            <div class="item">马菠萝奇</div>
            <div class="item">王者克纸轮</div>
            <div class="item">王者视角</div>
            <div class="item">峡谷460</div>
            <div class="item">百星王者带你非</div>
            <div class="item">王者克纸轮</div>
            <div class="item">王者视角</div>
            <div class="item">峡谷460</div>
            <div class="item">百星王者带你非</div>
            <div class="item">王者克纸轮</div>
            <div class="item">王者视角</div>
            <div class="item">峡谷460</div>
            <div class="item">百星王者带你非</div>
          </div>

          

        </div>
        <div class="match-center">
          <div class="section_header">
            <div class="header_left">
              <h3 class="title title-icon-match">赛事中心</h3>
            </div>
            <div class="header_right" href="#">
              <a class="more" href="#">更多</a>
            </div>
          </div>
        </div>
      </div>
      <div class="right-content"></div>
    </div>
  </div>

</body>
</html>

细节

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>王者荣耀-main-news</title>
  <link rel="stylesheet" href="./css/reset.css">
  <link rel="stylesheet" href="./css/common.css">
  <style>
    .main .section-content {
      display: flex;
      justify-content: space-between;
    }

    .main .section-content .left-content {
      width: 872px;
      height: 1000px;
    }
    .main .section-content .right-content {
      width: 295px;
      height: 500px;
    }
  </style>
</head>
<body>
  
  <div class="main main_wrapper">
    <div class="section-content">
      <div class="left-content">
        <div class="content-center">
          <div class="section_header">
            <div class="header_left">
              <h3 class="title">内容中心</h3>
            </div>
            <div class="header_right" href="#">
              <a class="more" href="#">更多</a>
            </div>
          </div>

          

        </div>
     
      </div>
      <div class="right-content"></div>
    </div>
  </div>

</body>
</html>

common.css

/* common.css公共的样式 */
/* body的公共样式 */
body {
  font: 14px/1.5 "Microsoft YaHei",Tahoma,"simsun",sans-serif;
  color: #333;
}

/* wrapper中间包裹的区域 */
.top_wrapper {
  width: 980px;
  margin: 0 auto;
}

.header_wrapper {
  width: 1300px;
  margin: 0 auto;
}

.main_wrapper {
  width: 1200px;
  margin: 0 auto;
}

/* 文字不换行显示3行代码 */
.nowrap_ellipsis {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

/* 新闻类型的图标 */
/* .news_type {
  display: inline-block;

  width: 32px;
  height: 16px;
  margin-right: 2px;

  line-height: 16px;
  text-align: center;
  font-size: 12px;

  border: 1px solid #f00;
  border-radius: 2px;
}

.news_type_hot {
  color: #ff3636;
  border-color: #ff3636;
}

.news_type_notice {
  color: #f4be19;
  border-color: #f4be19;
}

.news_type_news {
  color: #1e96ab;
  border-color: #1e96ab;
} */

.news_type::before {
  display: inline-block;
  width: 32px;
  height: 16px;
  margin-right: 2px;

  line-height: 16px;
  text-align: center;
  font-size: 12px;

  border: 1px solid #f00;
  border-radius: 2px;
}

.news_type_hot::before {
  content: "热门";
  color: #ff3636;
  border-color: #ff3636;
}

.news_type_notice::before {
  content: "公告";
  color: #f4be19;
  border-color: #f4be19;
}

.news_type_news::before {
  content: "新闻";
  color: #1e96ab;
  border-color: #1e96ab;
}

.news_type_match {
  display: inline-block;
  width: 52px;
  height: 23px;
  margin-right: 12px;
  border-radius: 10px;
  line-height: 23px;
  text-align: center;
  color: #999;
  font-size: 12px;
  background-color: #e3e3e3;
}

/* section_header */
.section_header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}

.section_header .header_left .title {
  font-size: 22px;
  color: #323235;
  padding-left: 30px;
  background: url(../img/main_sprite.png) no-repeat 0 -102px;
}

.section_header .header_left .title-icon-match {
  background-position: 0 -180px;
}

.section_header .header_left .title-icon-hero {
  background-position: 0 -139px;
}

.section_header .header_right {
  display: flex;
  align-items: center;
}

.section_header .header_right .more {
  display: block;
  padding-left: 22px;
  background: url(../img/main_sprite.png) no-repeat -252px 4px;
}

.section_header .header_right .more:hover {
  color: #f3c258;
}

10_(掌握)王者荣耀-main-tab-control的封装过程

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>王者荣耀-main-news</title>
  <link rel="stylesheet" href="./css/reset.css">
  <link rel="stylesheet" href="./css/common.css">
  <style>
    .main .section-content {
      display: flex;
      justify-content: space-between;
    }

    .main .section-content .left-content {
      width: 872px;
      height: 1000px;
    }
    .main .section-content .right-content {
      width: 295px;
      height: 500px;
    }
  </style>
</head>
<body>
  
  <div class="main main_wrapper">
    <div class="section-content">
      <div class="left-content">
        <div class="content-center">
          <div class="section_header">
            <div class="header_left">
              <h3 class="title">内容中心</h3>
            </div>
            <div class="header_right" href="#">
              <a class="more" href="#">更多</a>
            </div>
          </div>
          <div class="tab_control">
            <div class="item active">精品栏目</div>
            <div class="line"></div>
            <div class="item">赛事精品</div>
            <div class="line"></div>
            <div class="item">英雄攻略</div>
          </div>

          

        </div>
        <div class="match-center">
          <div class="section_header">
            <div class="header_left">
              <h3 class="title title-icon-match">赛事中心</h3>
            </div>
            <div class="header_right" href="#">
              <a class="more" href="#">更多</a>
            </div>
          </div>
        </div>
      </div>
      <div class="right-content"></div>
    </div>
  </div>

</body>
</html>

11_(掌握)王者荣耀-main-tab-keyword的封装过程

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>王者荣耀-main-news</title>
  <link rel="stylesheet" href="./css/reset.css">
  <link rel="stylesheet" href="./css/common.css">
  <style>
    .main .section-content {
      display: flex;
      justify-content: space-between;
    }

    .main .section-content .left-content {
      width: 872px;
      height: 1000px;
    }
    .main .section-content .right-content {
      width: 295px;
      height: 500px;
    }
  </style>
</head>
<body>
  
  <div class="main main_wrapper">
    <div class="section-content">
      <div class="left-content">
        <div class="content-center">
          <div class="section_header">
            <div class="header_left">
              <h3 class="title">内容中心</h3>
            </div>
            <div class="header_right" href="#">
              <a class="more" href="#">更多</a>
            </div>
          </div>
          <div class="tab_control">
            <div class="item active">精品栏目</div>
            <div class="line"></div>
            <div class="item">赛事精品</div>
            <div class="line"></div>
            <div class="item">英雄攻略</div>
          </div>
          <div class="tab_keyword">
            <div class="item active">最新</div>
            <div class="item">马菠萝奇闻录</div>
            <div class="item">马菠萝奇</div>
            <div class="item">王者克纸轮</div>
            <div class="item">王者视角</div>
            <div class="item">峡谷460</div>
            <div class="item">百星王者带你非</div>
            <div class="item">王者克纸轮</div>
            <div class="item">王者视角</div>
            <div class="item">峡谷460</div>
            <div class="item">百星王者带你非</div>
            <div class="item">王者克纸轮</div>
            <div class="item">王者视角</div>
            <div class="item">峡谷460</div>
            <div class="item">百星王者带你非</div>
          </div>

          

        </div>
        <div class="match-center">
          <div class="section_header">
            <div class="header_left">
              <h3 class="title title-icon-match">赛事中心</h3>
            </div>
            <div class="header_right" href="#">
              <a class="more" href="#">更多</a>
            </div>
          </div>
        </div>
      </div>
      <div class="right-content"></div>
    </div>
  </div>

</body>
</html>

12_(掌握)王者荣耀-main-video-item封装01

完整代码

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Video-Item</title>
  <link rel="stylesheet" href="./css/reset.css">
  <link rel="stylesheet" href="./css/common.css">
  <style>
    .video_item {
      margin: 100px auto;

      display: block;
      width: 212px;
    }

    .video_item .album {
      position: relative;
      border-radius: 3px;
      overflow: hidden;
    }

    .video_item .album img {
      width: 100%;
    }

    .video_item .album .info {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;

      display: flex;
      justify-content: space-between;
      align-items: center;

      height: 22px;
      padding: 0 10px;
      line-height: 22px;
      background-color: rgba(0,0,0,.6);
      font-size: 12px;
      color: #fff;
    }

    .video_item .album .info .count {
      padding-left: 16px;
      background: url(./img/main_sprite.png) no-repeat -256px -59px;
    }

    .video_item .album .cover {
      display: none;
      opacity: 0;
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      background-color: rgba(0,0,0,.6);

      transition: all 300ms ease-in;
    }

    .video_item:hover .album .cover {
      display: block;
      animation: itemCoverAnim 300ms ease-in forwards;
    }

    @keyframes itemCoverAnim {
      from {
        opacity: 0;
      }
      to {
        opacity: 1;
      }
    }

    .video_item .album .cover .icon_play {
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      margin: auto;
      width: 40px;
      height: 40px;
      background: url(./img/main_sprite.png) no-repeat -192px -64px;
    }

    .video_item .desc {
      margin-top: 8px;
      overflow: hidden;
      text-overflow: ellipsis;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
    }
  </style>
</head>
<body>
  
  <a class="video_item" href="#">
    <div class="album">
      <img src="./img/video_album_01.png" alt="">
      <div class="info">
        <span class="count">471.6万</span>
        <span class="date">2020-08-29</span>
      </div>
      <div class="cover">
        <i class="icon_play"></i>
      </div>
    </div>
    <div class="desc">
      【狄仁杰封神榜】第82期 发生什么事了?全局例无虚发又双叒现峡谷ffdafadfda
    </div>
  </a>

</body>
</html>

细节

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Video-Item</title>
  <link rel="stylesheet" href="./css/reset.css">
  <link rel="stylesheet" href="./css/common.css">
  <style>
    .video_item {
      margin: 100px auto;

      display: block;
      width: 212px;
    }

    .video_item .album {
      position: relative;
      border-radius: 3px;
      overflow: hidden;
    }

    .video_item .album img {
      width: 100%;
    }

    .video_item .album .info {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;

      display: flex;
      justify-content: space-between;
      align-items: center;

      height: 22px;
      padding: 0 10px;
      line-height: 22px;
      background-color: rgba(0,0,0,.6);
      font-size: 12px;
      color: #fff;
    }

    .video_item .album .info .count {
      padding-left: 16px;
      background: url(./img/main_sprite.png) no-repeat -256px -59px;
    }


    .video_item .desc {
      margin-top: 8px;
      overflow: hidden;
      text-overflow: ellipsis;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
    }
  </style>
</head>
<body>
  
  <a class="video_item" href="#">
    <div class="album">
      <img src="./img/video_album_01.png" alt="">
      <div class="info">
        <span class="count">471.6万</span>
        <span class="date">2020-08-29</span>
      </div>

    </div>
    <div class="desc">
      【狄仁杰封神榜】第82期 发生什么事了?全局例无虚发又双叒现峡谷ffdafadfda
    </div>
  </a>

</body>
</html>

13_(掌握)王者荣耀-main-video-item封装0

14_(掌握)王者荣耀-main-video-item动画补

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Video-Item</title>
  <link rel="stylesheet" href="./css/reset.css">
  <link rel="stylesheet" href="./css/common.css">
  <style>
    .video_item {
      margin: 100px auto;

      display: block;
      width: 212px;
    }

    .video_item .album {
      position: relative;
      border-radius: 3px;
      overflow: hidden;
    }

    .video_item .album img {
      width: 100%;
    }

    .video_item .album .info {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;

      display: flex;
      justify-content: space-between;
      align-items: center;

      height: 22px;
      padding: 0 10px;
      line-height: 22px;
      background-color: rgba(0,0,0,.6);
      font-size: 12px;
      color: #fff;
    }

    .video_item .album .info .count {
      padding-left: 16px;
      background: url(./img/main_sprite.png) no-repeat -256px -59px;
    }

    .video_item .album .cover {
      display: none;
      opacity: 0;
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      background-color: rgba(0,0,0,.6);

      transition: all 300ms ease-in;
    }

    .video_item:hover .album .cover {
      display: block;
      animation: itemCoverAnim 300ms ease-in forwards;
    }

    @keyframes itemCoverAnim {
      from {
        opacity: 0;
      }
      to {
        opacity: 1;
      }
    }

    .video_item .album .cover .icon_play {
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      margin: auto;
      width: 40px;
      height: 40px;
      background: url(./img/main_sprite.png) no-repeat -192px -64px;
    }

    .video_item .desc {
      margin-top: 8px;
      overflow: hidden;
      text-overflow: ellipsis;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
    }
  </style>
</head>
<body>
  
  <a class="video_item" href="#">
    <div class="album">
      <img src="./img/video_album_01.png" alt="">
      <div class="info">
        <span class="count">471.6万</span>
        <span class="date">2020-08-29</span>
      </div>
      <div class="cover">
        <i class="icon_play"></i>
      </div>
    </div>
    <div class="desc">
      【狄仁杰封神榜】第82期 发生什么事了?全局例无虚发又双叒现峡谷ffdafadfda
    </div>
  </a>

</body>
</html>

15_(掌握)王者荣耀-main-video-list的展示

video.css

.video_list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.video_item {
  display: block;
  width: 212px;
  margin-bottom: 20px;
}

.video_item .album {
  position: relative;
  border-radius: 3px;
  overflow: hidden;
}

.video_item .album img {
  width: 100%;
}

.video_item .album .info {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;

  display: flex;
  justify-content: space-between;
  align-items: center;

  height: 22px;
  padding: 0 10px;
  line-height: 22px;
  background-color: rgba(0,0,0,.6);
  font-size: 12px;
  color: #fff;
}

.video_item .album .info .count {
  padding-left: 16px;
  background: url(../img/main_sprite.png) no-repeat -256px -59px;
}

.video_item .album .cover {
  display: none;
  opacity: 0;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background-color: rgba(0,0,0,.6);

  transition: all 300ms ease-in;
}

.video_item:hover .album .cover {
  display: block;
  animation: itemCoverAnim 300ms ease-in forwards;
}

@keyframes itemCoverAnim {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.video_item .album .cover .icon_play {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 40px;
  height: 40px;
  background: url(../img/main_sprite.png) no-repeat -192px -64px;
}

.video_item .desc {
  margin-top: 8px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

16_(掌握)王者荣耀-main-赛事中心tab_control

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>王者荣耀-main-news</title>
  <link rel="stylesheet" href="./css/reset.css">
  <link rel="stylesheet" href="./css/common.css">
  <link rel="stylesheet" href="./css/video.css">
  <style>
    .main .section-content {
      display: flex;
      justify-content: space-between;
    }

    .main .section-content .left-content {
      width: 872px;
      height: 1000px;
    }

    .main .match-center .match-news {
      display: flex;
      height: 260px;
      margin: 20px 0 15px;
    }

    .main .match-center .match-news .news-left {
      width: 211px;
      background-color: orange;
    }

    .main .match-center .match-news .news-right {
      flex: 1;
      overflow: hidden;
      padding: 0 15px;
    }

    .main .match-center .news-right .title {
      font-size: 24px;
      color: #333;
      padding-right: 80px;
    }

    .main .match-center .news-right .subtitle {
      padding-right: 160px;
      color: #666;
    }

    .main .match-center .news-right .news-list .item {
      display: flex;
      align-items: center;
      margin-top: 10px;
    }

    .main .match-center .news-right .news-list .item .desc {
      flex: 1;
      padding-right: 50px;
    }

    .main .match-center .news-right .news-list .item .desc:hover {
      text-decoration: underline;
    }

    .main .match-center .news-right .news-list .item .date {
      font-size: 12px;
      color: #b8b9c5;
    }

    /* right-content */
    .main .section-content .right-content {
      width: 295px;
      height: 500px;
    }
  </style>
</head>
<body>
  
  <div class="main main_wrapper">
    <div class="section-content">
      <div class="left-content">
        <div class="content-center">
          <div class="section_header">
            <div class="header_left">
              <h3 class="title">内容中心</h3>
            </div>
            <div class="header_right" href="#">
              <a class="more" href="#">更多</a>
            </div>
          </div>
          <div class="tab_control">
            <div class="item active">精品栏目</div>
            <div class="line"></div>
            <div class="item">赛事精品</div>
            <div class="line"></div>
            <div class="item">英雄攻略</div>
          </div>
          <div class="tab_keyword">
            <div class="item active">最新</div>
            <div class="item">马菠萝奇闻录</div>
            <div class="item">马菠萝奇</div>
            <div class="item">王者克纸轮</div>
            <div class="item">王者视角</div>
            <div class="item">峡谷460</div>
            <div class="item">百星王者带你非</div>
            <div class="item">王者克纸轮</div>
            <div class="item">王者视角</div>
            <div class="item">峡谷460</div>
            <div class="item">百星王者带你非</div>
            <div class="item">王者克纸轮</div>
            <div class="item">王者视角</div>
            <div class="item">峡谷460</div>
            <div class="item">百星王者带你非</div>
          </div>

          <div class="video_list">
            <a class="video_item" href="#">
              <div class="album">
                <img src="./img/video_album_01.png" alt="">
                <div class="info">
                  <span class="count">471.6万</span>
                  <span class="date">2020-08-29</span>
                </div>
                <div class="cover">
                  <i class="icon_play"></i>
                </div>
              </div>
              <div class="desc">
                【狄仁杰封神榜】第82期 发生什么事了?全局例无虚发又双叒现峡谷ffdafadfda
              </div>
            </a>
            <a class="video_item" href="#">
              <div class="album">
                <img src="./img/video_album_01.png" alt="">
                <div class="info">
                  <span class="count">471.6万</span>
                  <span class="date">2020-08-29</span>
                </div>
                <div class="cover">
                  <i class="icon_play"></i>
                </div>
              </div>
              <div class="desc">
                【狄仁杰封神榜】第82期 发生什么事了?全局例无虚发又双叒现峡谷ffdafadfda
              </div>
            </a>
            <a class="video_item" href="#">
              <div class="album">
                <img src="./img/video_album_01.png" alt="">
                <div class="info">
                  <span class="count">471.6万</span>
                  <span class="date">2020-08-29</span>
                </div>
                <div class="cover">
                  <i class="icon_play"></i>
                </div>
              </div>
              <div class="desc">
                【狄仁杰封神榜】第82期 发生什么事了?全局例无虚发又双叒现峡谷ffdafadfda
              </div>
            </a>
            <a class="video_item" href="#">
              <div class="album">
                <img src="./img/video_album_01.png" alt="">
                <div class="info">
                  <span class="count">471.6万</span>
                  <span class="date">2020-08-29</span>
                </div>
                <div class="cover">
                  <i class="icon_play"></i>
                </div>
              </div>
              <div class="desc">
                【狄仁杰封神榜】第82期 发生什么事了?全局例无虚发又双叒现峡谷ffdafadfda
              </div>
            </a>
            <a class="video_item" href="#">
              <div class="album">
                <img src="./img/video_album_01.png" alt="">
                <div class="info">
                  <span class="count">471.6万</span>
                  <span class="date">2020-08-29</span>
                </div>
                <div class="cover">
                  <i class="icon_play"></i>
                </div>
              </div>
              <div class="desc">
                【狄仁杰封神榜】第82期 发生什么事了?全局例无虚发又双叒现峡谷ffdafadfda
              </div>
            </a>
            <a class="video_item" href="#">
              <div class="album">
                <img src="./img/video_album_01.png" alt="">
                <div class="info">
                  <span class="count">471.6万</span>
                  <span class="date">2020-08-29</span>
                </div>
                <div class="cover">
                  <i class="icon_play"></i>
                </div>
              </div>
              <div class="desc">
                【狄仁杰封神榜】第82期 发生什么事了?全局例无虚发又双叒现峡谷ffdafadfda
              </div>
            </a>
            <a class="video_item" href="#">
              <div class="album">
                <img src="./img/video_album_01.png" alt="">
                <div class="info">
                  <span class="count">471.6万</span>
                  <span class="date">2020-08-29</span>
                </div>
                <div class="cover">
                  <i class="icon_play"></i>
                </div>
              </div>
              <div class="desc">
                【狄仁杰封神榜】第82期 发生什么事了?全局例无虚发又双叒现峡谷ffdafadfda
              </div>
            </a>
            <a class="video_item" href="#">
              <div class="album">
                <img src="./img/video_album_01.png" alt="">
                <div class="info">
                  <span class="count">471.6万</span>
                  <span class="date">2020-08-29</span>
                </div>
                <div class="cover">
                  <i class="icon_play"></i>
                </div>
              </div>
              <div class="desc">
                【狄仁杰封神榜】第82期 发生什么事了?全局例无虚发又双叒现峡谷ffdafadfda
              </div>
            </a>
          </div>

        </div>
        <div class="match-center">
          <div class="section_header">
            <div class="header_left">
              <h3 class="title title-icon-match">赛事中心</h3>
            </div>
            <div class="header_right" href="#">
              <a class="more" href="#">更多</a>
            </div>
          </div>
          <div class="tab_control">
            <div class="item item_wrap active">KPL</div>
            <div class="line"></div>
            <div class="item item_wrap">挑战者杯</div>
            <div class="line"></div>
            <div class="item item_wrap">K甲联赛</div>
            <div class="line"></div>
            <div class="item item_wrap">城市赛</div>
            <div class="line"></div>
            <div class="item item_wrap">高校联赛</div>
            <div class="line"></div>
            <div class="item item_wrap">TGA</div>
            <div class="line"></div>
            <div class="item item_wrap">微信游戏邀请赛</div>
            <div class="line"></div>
          </div>

          
          <div class="video_list">
            <a class="video_item" href="#">
              <div class="album">
                <img src="./img/video_album_02.jpg" alt="">
                <div class="info">
                  <span class="count">471.6万</span>
                  <span class="date">2020-08-29</span>
                </div>
                <div class="cover">
                  <i class="icon_play"></i>
                </div>
              </div>
              <div class="desc">
                【狄仁杰封神榜】第82期 发生什么事了?全局例无虚发又双叒现峡谷ffdafadfda
              </div>
            </a>
            <a class="video_item" href="#">
              <div class="album">
                <img src="./img/video_album_02.jpg" alt="">
                <div class="info">
                  <span class="count">471.6万</span>
                  <span class="date">2020-08-29</span>
                </div>
                <div class="cover">
                  <i class="icon_play"></i>
                </div>
              </div>
              <div class="desc">
                【狄仁杰封神榜】第82期 发生什么事了?全局例无虚发又双叒现峡谷ffdafadfda
              </div>
            </a>
            <a class="video_item" href="#">
              <div class="album">
                <img src="./img/video_album_02.jpg" alt="">
                <div class="info">
                  <span class="count">471.6万</span>
                  <span class="date">2020-08-29</span>
                </div>
                <div class="cover">
                  <i class="icon_play"></i>
                </div>
              </div>
              <div class="desc">
                【狄仁杰封神榜】第82期 发生什么事了?全局例无虚发又双叒现峡谷ffdafadfda
              </div>
            </a>
            <a class="video_item" href="#">
              <div class="album">
                <img src="./img/video_album_02.jpg" alt="">
                <div class="info">
                  <span class="count">471.6万</span>
                  <span class="date">2020-08-29</span>
                </div>
                <div class="cover">
                  <i class="icon_play"></i>
                </div>
              </div>
              <div class="desc">
                【狄仁杰封神榜】第82期 发生什么事了?全局例无虚发又双叒现峡谷ffdafadfda
              </div>
            </a>
            <a class="video_item" href="#">
              <div class="album">
                <img src="./img/video_album_02.jpg" alt="">
                <div class="info">
                  <span class="count">471.6万</span>
                  <span class="date">2020-08-29</span>
                </div>
                <div class="cover">
                  <i class="icon_play"></i>
                </div>
              </div>
              <div class="desc">
                【狄仁杰封神榜】第82期 发生什么事了?全局例无虚发又双叒现峡谷ffdafadfda
              </div>
            </a>
            <a class="video_item" href="#">
              <div class="album">
                <img src="./img/video_album_02.jpg" alt="">
                <div class="info">
                  <span class="count">471.6万</span>
                  <span class="date">2020-08-29</span>
                </div>
                <div class="cover">
                  <i class="icon_play"></i>
                </div>
              </div>
              <div class="desc">
                【狄仁杰封神榜】第82期 发生什么事了?全局例无虚发又双叒现峡谷ffdafadfda
              </div>
            </a>
            <a class="video_item" href="#">
              <div class="album">
                <img src="./img/video_album_02.jpg" alt="">
                <div class="info">
                  <span class="count">471.6万</span>
                  <span class="date">2020-08-29</span>
                </div>
                <div class="cover">
                  <i class="icon_play"></i>
                </div>
              </div>
              <div class="desc">
                【狄仁杰封神榜】第82期 发生什么事了?全局例无虚发又双叒现峡谷ffdafadfda
              </div>
            </a>
            <a class="video_item" href="#">
              <div class="album">
                <img src="./img/video_album_02.jpg" alt="">
                <div class="info">
                  <span class="count">471.6万</span>
                  <span class="date">2020-08-29</span>
                </div>
                <div class="cover">
                  <i class="icon_play"></i>
                </div>
              </div>
              <div class="desc">
                【狄仁杰封神榜】第82期 发生什么事了?全局例无虚发又双叒现峡谷ffdafadfda
              </div>
            </a>
          </div>
        </div>
      </div>
      <div class="right-content"></div>
    </div>
  </div>

</body>
</html>

17_(掌握)王者荣耀-main-赛事中心新闻展示

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>王者荣耀-main-news</title>
  <link rel="stylesheet" href="./css/reset.css">
  <link rel="stylesheet" href="./css/common.css">
  <link rel="stylesheet" href="./css/video.css">
  <style>
    .main .section-content {
      display: flex;
      justify-content: space-between;
    }

    .main .section-content .left-content {
      width: 872px;
      height: 1000px;
    }

    .main .match-center .match-news {
      display: flex;
      height: 260px;
      margin: 20px 0 15px;
    }

    .main .match-center .match-news .news-left {
      width: 211px;
      background-color: orange;
    }

    .main .match-center .match-news .news-right {
      flex: 1;
      overflow: hidden;
      padding: 0 15px;
    }

    .main .match-center .news-right .title {
      font-size: 24px;
      color: #333;
      padding-right: 80px;
    }

    .main .match-center .news-right .subtitle {
      padding-right: 160px;
      color: #666;
    }

    .main .match-center .news-right .news-list .item {
      display: flex;
      align-items: center;
      margin-top: 10px;
    }

    .main .match-center .news-right .news-list .item .desc {
      flex: 1;
      padding-right: 50px;
    }

    .main .match-center .news-right .news-list .item .desc:hover {
      text-decoration: underline;
    }

    .main .match-center .news-right .news-list .item .date {
      font-size: 12px;
      color: #b8b9c5;
    }

    /* right-content */
    .main .section-content .right-content {
      width: 295px;
      height: 500px;
    }
  </style>
</head>
<body>
  
  <div class="main main_wrapper">
    <div class="section-content">
      <div class="left-content">
        <div class="content-center">
          <div class="section_header">
            <div class="header_left">
              <h3 class="title">内容中心</h3>
            </div>
            <div class="header_right" href="#">
              <a class="more" href="#">更多</a>
            </div>
          </div>
          <div class="tab_control">
            <div class="item active">精品栏目</div>
            <div class="line"></div>
            <div class="item">赛事精品</div>
            <div class="line"></div>
            <div class="item">英雄攻略</div>
          </div>
          <div class="tab_keyword">
            <div class="item active">最新</div>
            <div class="item">马菠萝奇闻录</div>
            <div class="item">马菠萝奇</div>
            <div class="item">王者克纸轮</div>
            <div class="item">王者视角</div>
            <div class="item">峡谷460</div>
            <div class="item">百星王者带你非</div>
            <div class="item">王者克纸轮</div>
            <div class="item">王者视角</div>
            <div class="item">峡谷460</div>
            <div class="item">百星王者带你非</div>
            <div class="item">王者克纸轮</div>
            <div class="item">王者视角</div>
            <div class="item">峡谷460</div>
            <div class="item">百星王者带你非</div>
          </div>

          <div class="video_list">
            <a class="video_item" href="#">
              <div class="album">
                <img src="./img/video_album_01.png" alt="">
                <div class="info">
                  <span class="count">471.6万</span>
                  <span class="date">2020-08-29</span>
                </div>
                <div class="cover">
                  <i class="icon_play"></i>
                </div>
              </div>
              <div class="desc">
                【狄仁杰封神榜】第82期 发生什么事了?全局例无虚发又双叒现峡谷ffdafadfda
              </div>
            </a>
            <a class="video_item" href="#">
              <div class="album">
                <img src="./img/video_album_01.png" alt="">
                <div class="info">
                  <span class="count">471.6万</span>
                  <span class="date">2020-08-29</span>
                </div>
                <div class="cover">
                  <i class="icon_play"></i>
                </div>
              </div>
              <div class="desc">
                【狄仁杰封神榜】第82期 发生什么事了?全局例无虚发又双叒现峡谷ffdafadfda
              </div>
            </a>
            <a class="video_item" href="#">
              <div class="album">
                <img src="./img/video_album_01.png" alt="">
                <div class="info">
                  <span class="count">471.6万</span>
                  <span class="date">2020-08-29</span>
                </div>
                <div class="cover">
                  <i class="icon_play"></i>
                </div>
              </div>
              <div class="desc">
                【狄仁杰封神榜】第82期 发生什么事了?全局例无虚发又双叒现峡谷ffdafadfda
              </div>
            </a>
            <a class="video_item" href="#">
              <div class="album">
                <img src="./img/video_album_01.png" alt="">
                <div class="info">
                  <span class="count">471.6万</span>
                  <span class="date">2020-08-29</span>
                </div>
                <div class="cover">
                  <i class="icon_play"></i>
                </div>
              </div>
              <div class="desc">
                【狄仁杰封神榜】第82期 发生什么事了?全局例无虚发又双叒现峡谷ffdafadfda
              </div>
            </a>
            <a class="video_item" href="#">
              <div class="album">
                <img src="./img/video_album_01.png" alt="">
                <div class="info">
                  <span class="count">471.6万</span>
                  <span class="date">2020-08-29</span>
                </div>
                <div class="cover">
                  <i class="icon_play"></i>
                </div>
              </div>
              <div class="desc">
                【狄仁杰封神榜】第82期 发生什么事了?全局例无虚发又双叒现峡谷ffdafadfda
              </div>
            </a>
            <a class="video_item" href="#">
              <div class="album">
                <img src="./img/video_album_01.png" alt="">
                <div class="info">
                  <span class="count">471.6万</span>
                  <span class="date">2020-08-29</span>
                </div>
                <div class="cover">
                  <i class="icon_play"></i>
                </div>
              </div>
              <div class="desc">
                【狄仁杰封神榜】第82期 发生什么事了?全局例无虚发又双叒现峡谷ffdafadfda
              </div>
            </a>
            <a class="video_item" href="#">
              <div class="album">
                <img src="./img/video_album_01.png" alt="">
                <div class="info">
                  <span class="count">471.6万</span>
                  <span class="date">2020-08-29</span>
                </div>
                <div class="cover">
                  <i class="icon_play"></i>
                </div>
              </div>
              <div class="desc">
                【狄仁杰封神榜】第82期 发生什么事了?全局例无虚发又双叒现峡谷ffdafadfda
              </div>
            </a>
            <a class="video_item" href="#">
              <div class="album">
                <img src="./img/video_album_01.png" alt="">
                <div class="info">
                  <span class="count">471.6万</span>
                  <span class="date">2020-08-29</span>
                </div>
                <div class="cover">
                  <i class="icon_play"></i>
                </div>
              </div>
              <div class="desc">
                【狄仁杰封神榜】第82期 发生什么事了?全局例无虚发又双叒现峡谷ffdafadfda
              </div>
            </a>
          </div>

        </div>
        <div class="match-center">
          <div class="section_header">
            <div class="header_left">
              <h3 class="title title-icon-match">赛事中心</h3>
            </div>
            <div class="header_right" href="#">
              <a class="more" href="#">更多</a>
            </div>
          </div>
          <div class="tab_control">
            <div class="item item_wrap active">KPL</div>
            <div class="line"></div>
            <div class="item item_wrap">挑战者杯</div>
            <div class="line"></div>
            <div class="item item_wrap">K甲联赛</div>
            <div class="line"></div>
            <div class="item item_wrap">城市赛</div>
            <div class="line"></div>
            <div class="item item_wrap">高校联赛</div>
            <div class="line"></div>
            <div class="item item_wrap">TGA</div>
            <div class="line"></div>
            <div class="item item_wrap">微信游戏邀请赛</div>
            <div class="line"></div>
          </div>

          <div class="match-news">
            <a class="news-left" href="#">
              <img src="./img/match_01.jpg" alt="">
            </a>
            <div class="news-right">
              <div class="title nowrap_ellipsis">
                K甲季后赛回顾:镇江VTG、火豹会师总决赛,MD止步四强总决赛,MD止步四强
              </div>
              <div class="subtitle nowrap_ellipsis">
                2022年K甲春季赛季后赛为期一周的比赛已经全部结束了:新秀MD位居四强;老牌劲旅CW斩获季军,镇江VTG和火豹冲进总决赛。一起来回顾下本周的精彩比赛吧!
              </div>
              <ul class="news-list">
                <li class="item">
                  <span class="news_type_match">KPL</span>
                  <a class="desc nowrap_ellipsis" href="#">
                    2022年K甲春季赛季后赛为期一周的比赛已经全部结束了:新秀MD位居四强;老牌劲旅CW斩获季军,镇江VTG和火豹冲进总决赛。一起来回顾下本周的精彩比赛吧!
                  </a>
                  <span class="date">04-22</span>
                </li>
                <li class="item">
                  <span class="news_type_match">KPL</span>
                  <a class="desc nowrap_ellipsis" href="#">
                    2022年K甲春季赛季后赛为期一周的比赛已经全部结束了:新秀MD位居四强;老牌劲旅CW斩获季军,镇江VTG和火豹冲进总决赛。一起来回顾下本周的精彩比赛吧!
                  </a>
                  <span class="date">04-22</span>
                </li>
                <li class="item">
                  <span class="news_type_match">KPL</span>
                  <a class="desc nowrap_ellipsis" href="#">
                    2022年K甲春季赛季后赛为期一周的比赛已经全部结束了:新秀MD位居四强;老牌劲旅CW斩获季军,镇江VTG和火豹冲进总决赛。一起来回顾下本周的精彩比赛吧!
                  </a>
                  <span class="date">04-22</span>
                </li>
                <li class="item">
                  <span class="news_type_match">KPL</span>
                  <a class="desc nowrap_ellipsis" href="#">
                    2022年K甲春季赛季后赛为期一周的比赛已经全部结束了:新秀MD位居四强;老牌劲旅CW斩获季军,镇江VTG和火豹冲进总决赛。一起来回顾下本周的精彩比赛吧!
                  </a>
                  <span class="date">04-22</span>
                </li>
                <li class="item">
                  <span class="news_type_match">KPL</span>
                  <a class="desc nowrap_ellipsis" href="#">
                    2022年K甲春季赛季后赛为期一周的比赛已经全部结束了:新秀MD位居四强;老牌劲旅CW斩获季军,镇江VTG和火豹冲进总决赛。一起来回顾下本周的精彩比赛吧!
                  </a>
                  <span class="date">04-22</span>
                </li>
                <li class="item">
                  <span class="news_type_match">KPL</span>
                  <a class="desc nowrap_ellipsis" href="#">
                    2022年K甲春季赛季后赛为期一周的比赛已经全部结束了:新秀MD位居四强;老牌劲旅CW斩获季军,镇江VTG和火豹冲进总决赛。一起来回顾下本周的精彩比赛吧!
                  </a>
                  <span class="date">04-22</span>
                </li>
              </ul>
            </div>
          </div>
          
          <div class="video_list">
            <a class="video_item" href="#">
              <div class="album">
                <img src="./img/video_album_02.jpg" alt="">
                <div class="info">
                  <span class="count">471.6万</span>
                  <span class="date">2020-08-29</span>
                </div>
                <div class="cover">
                  <i class="icon_play"></i>
                </div>
              </div>
              <div class="desc">
                【狄仁杰封神榜】第82期 发生什么事了?全局例无虚发又双叒现峡谷ffdafadfda
              </div>
            </a>
            <a class="video_item" href="#">
              <div class="album">
                <img src="./img/video_album_02.jpg" alt="">
                <div class="info">
                  <span class="count">471.6万</span>
                  <span class="date">2020-08-29</span>
                </div>
                <div class="cover">
                  <i class="icon_play"></i>
                </div>
              </div>
              <div class="desc">
                【狄仁杰封神榜】第82期 发生什么事了?全局例无虚发又双叒现峡谷ffdafadfda
              </div>
            </a>
            <a class="video_item" href="#">
              <div class="album">
                <img src="./img/video_album_02.jpg" alt="">
                <div class="info">
                  <span class="count">471.6万</span>
                  <span class="date">2020-08-29</span>
                </div>
                <div class="cover">
                  <i class="icon_play"></i>
                </div>
              </div>
              <div class="desc">
                【狄仁杰封神榜】第82期 发生什么事了?全局例无虚发又双叒现峡谷ffdafadfda
              </div>
            </a>
            <a class="video_item" href="#">
              <div class="album">
                <img src="./img/video_album_02.jpg" alt="">
                <div class="info">
                  <span class="count">471.6万</span>
                  <span class="date">2020-08-29</span>
                </div>
                <div class="cover">
                  <i class="icon_play"></i>
                </div>
              </div>
              <div class="desc">
                【狄仁杰封神榜】第82期 发生什么事了?全局例无虚发又双叒现峡谷ffdafadfda
              </div>
            </a>
            <a class="video_item" href="#">
              <div class="album">
                <img src="./img/video_album_02.jpg" alt="">
                <div class="info">
                  <span class="count">471.6万</span>
                  <span class="date">2020-08-29</span>
                </div>
                <div class="cover">
                  <i class="icon_play"></i>
                </div>
              </div>
              <div class="desc">
                【狄仁杰封神榜】第82期 发生什么事了?全局例无虚发又双叒现峡谷ffdafadfda
              </div>
            </a>
            <a class="video_item" href="#">
              <div class="album">
                <img src="./img/video_album_02.jpg" alt="">
                <div class="info">
                  <span class="count">471.6万</span>
                  <span class="date">2020-08-29</span>
                </div>
                <div class="cover">
                  <i class="icon_play"></i>
                </div>
              </div>
              <div class="desc">
                【狄仁杰封神榜】第82期 发生什么事了?全局例无虚发又双叒现峡谷ffdafadfda
              </div>
            </a>
            <a class="video_item" href="#">
              <div class="album">
                <img src="./img/video_album_02.jpg" alt="">
                <div class="info">
                  <span class="count">471.6万</span>
                  <span class="date">2020-08-29</span>
                </div>
                <div class="cover">
                  <i class="icon_play"></i>
                </div>
              </div>
              <div class="desc">
                【狄仁杰封神榜】第82期 发生什么事了?全局例无虚发又双叒现峡谷ffdafadfda
              </div>
            </a>
            <a class="video_item" href="#">
              <div class="album">
                <img src="./img/video_album_02.jpg" alt="">
                <div class="info">
                  <span class="count">471.6万</span>
                  <span class="date">2020-08-29</span>
                </div>
                <div class="cover">
                  <i class="icon_play"></i>
                </div>
              </div>
              <div class="desc">
                【狄仁杰封神榜】第82期 发生什么事了?全局例无虚发又双叒现峡谷ffdafadfda
              </div>
            </a>
          </div>
        </div>
      </div>
      <div class="right-content"></div>
    </div>
  </div>

</body>
</html>

总结:王者荣耀项目实战

一. 新闻区域

1.1. 轮播图展示

  • banner-list

  • title-list

1.2. 新闻区域背景图

1.3. 新闻内容展示

  • news-titles-list

  • notice 公告

  • news-list

    • 基本展示过程(没有前面图标)

    • 单独对图标进行封装

      • i封装

      • 伪元素封装

二. 入口区域

2.1. 四个等分/缩放的动画

三. 封装公共的class

3.1. section_header

3.2. tab_control

  • 等分

  • 包裹内容

3.3. tab_keyword

四. 视频列表

4.1. video_item进行封装

4.2. video_item遮盖层/动画

  • cover

    • icon

  • 动画

    • transition

    • animation

4.3. video_list列表展示

五. 赛事中心的新闻展示

5.1. 左侧图片

5.2. 右侧title/subtitle

5.3. 新闻的列表

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/964861.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java 基于微信小程序的高校失物招领平台小程序(附源码,文档)

博主介绍&#xff1a;✌程序员徐师兄、8年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战*✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447…

题解:洛谷 P5837 [USACO19DEC] Milk Pumping G

题目https://www.luogu.com.cn/problem/P5837 温馨提示&#xff1a;鉴于数据范围小的可怜&#xff0c;我们可以用暴力一些的想法去做&#xff0c;别看到是普及/提高就被吓退了。 枚举最小流量 &#xff0c;然后跑一遍最短路&#xff0c;求出带限制的 到 的最短路的长度&#…

动态规划——斐波那契数列模型问题

文章目录 1137. 第 N 个泰波那契数算法原理代码实现 面试题 08.01. 三步问题算法原理代码实现 746. 使用最小花费爬楼梯算法原理代码实现 91. 解码方法算法原理代码实现 1137. 第 N 个泰波那契数 题目链接&#xff1a;1137. 第 N 个泰波那契数 算法原理 状态表示&#xff1a;…

LabVIEW涡轮诊断系统

一、项目背景与行业痛点 涡轮机械是发电厂、航空发动机、石油化工等领域的核心动力设备&#xff0c;其运行状态直接关系到生产安全与经济效益。据统计&#xff0c;涡轮故障导致的非计划停机可造成每小时数十万元的经济损失&#xff0c;且突发故障可能引发严重安全事故。传统人…

java程序员面试自身优缺点,详细说明

程序员面试大厂经常被问到的Java异常机制问题,你搞懂了吗运行时异常:运行时异常是可能被程序员避免的异常。与检查性相反,运行时异常可以在编译时被忽略。错误(ERROR):错误不是异常,而是脱离程序员控制的问题。错误通常在代码中容易被忽略。例如:当栈溢出时,一个错误就发生了,它…

大话特征工程:3.特征扩展

公元 2147 年&#xff0c;人类文明站在科技的巅峰&#xff0c;所有决策、发展甚至感知都被“全维计算网络”所掌控。这套系统以高维空间中的数据为基础&#xff0c;试图预测并塑造未来。然而&#xff0c;这场辉煌的技术革命却在悄无声息之间酿成了人类最大的危机——维数灾难。…

CSV数据分析智能工具(基于OpenAI API和streamlit)

utils.py&#xff1a; from langchain_openai import ChatOpenAI from langchain_experimental.agents.agent_toolkits import create_csv_agent import jsonPROMPT_TEMPLATE """你是一位数据分析助手&#xff0c;你的回应内容取决于用户的请求内容。1. 对于文…

2025.2.5

Web [SWPUCTF 2021 新生赛]ez_unserialize: 这个题先了解一下反序列化&#xff1a;反序列化是序列化的逆过程。序列化是将对象或数据结构转换为可以存储或传输的格式&#xff08;如JSON、XML或二进制格式&#xff09;的过程。反序列化则是将这个格式的数据转换回原始的对象或…

新版AndroidStudio 修改 jdk版本

一、问题 之前&#xff0c;在安卓项目中配置JDK和Gradle的过程非常直观&#xff0c;只需要进入Android Studio的File菜单中的Project Structure即可进行设置&#xff0c;十分方便。 如下图可以在这修改JDK: 但是升级AndroidStudio之后&#xff0c;比如我升级到了Android Stu…

Web3技术详解

Web3技术代表着互联网技术的最新进展&#xff0c;它致力于打造一个去中心化的互联网生态系统。以下是对Web3技术的详细解析&#xff1a; 一、Web3技术的核心概念 Web3是第三代互联网技术的代名词&#xff0c;代表着去中心化、区块链驱动和用户自有控制的理念。在Web3的世界中…

景联文科技:专业数据采集标注公司 ,助力企业提升算法精度!

随着人工智能技术加速落地&#xff0c;高质量数据已成为驱动AI模型训练与优化的核心资源。据统计&#xff0c;全球AI数据服务市场规模预计2025年突破200亿美元&#xff0c;其中智能家居、智慧交通、医疗健康等数据需求占比超60%。作为国内领先的AI数据服务商&#xff0c;景联文…

3.【BUUCTF】XSS-Lab1

进入题目页面如下 好好好&#xff0c;提示点击图片&#xff0c;点进去页面如下&#xff0c;且url中有传参&#xff0c;有注入点 发现题目给出了源码 查看得到本题的源码 分析一下代码 <!DOCTYPE html><!--STATUS OK--> <!-- 声明文档类型为 HTML5&#xff0c;告…

进程、线程、内存和IO模型的概念详解

进程、线程、内存和IO模型的概念详解 1 进程与线程1.1 进程1.1.1 进程分类1.1.2 进程的状态和转换1.1.3 僵尸进程和孤儿进程的区别1.1.4 进程之间的通信1.1.5 用户态和内核态1.1.6 用户空间和内核空间 1.2 线程1.2.1 线程的状态和转换1.2.2 进程与线程的区别 1.3 多进程和多线程…

浅谈密码相关原理及代码实现

本代码仅供学习、研究、教育或合法用途。开发者明确声明其无意将该代码用于任何违法、犯罪或违反道德规范的行为。任何个人或组织在使用本代码时&#xff0c;需自行确保其行为符合所在国家或地区的法律法规。 开发者对任何因直接或间接使用该代码而导致的法律责任、经济损失或…

Swagger相关内容整合

mvc:pathmatch:matching-strategy: ant_path_matcher 一、引入相关依赖 <!-- 图像化依赖 --> <dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.9.2</version> </de…

【数据结构】循环链表

循环链表 单链表局限性单向循环链表判断链表是否有环思路code 找到链表入口思路代码结构与逻辑 code 单链表局限性 单链表作为一种基本的数据结构&#xff0c;虽然在很多场景下都非常有用&#xff0c;但它也存在一些局限性&#xff1a; 单向访问&#xff1a;由于每个节点仅包含…

简易C语言矩阵运算库

参考网址&#xff1a; 异想家纯C语言矩阵运算库 - Sandeepin - 博客园 这次比opencv快⑥倍&#xff01;&#xff01;&#xff01; 参考上述网址&#xff0c;整理了一下代码&#xff1a; //main.c#include <stdio.h> #include <stdlib.h> #include <string.h…

微服务知识——微服务架构的演进过程

文章目录 初始架构&#xff1a;单机架构第一次演进&#xff1a;Tomcat与数据库分开部署第二次演进&#xff1a;引入本地缓存和分布式缓存第三次演进&#xff1a;引入反向代理实现负载均衡第四次演进&#xff1a;数据库读写分离第五次演进&#xff1a;数据库按业务分库第六次演进…

Hackmyvm crack

简介 难度&#xff1a;简单 靶机地址&#xff1a; 环境 kali&#xff1a;192.168.194.9 靶机&#xff1a;192.168.194.23 扫描 nmap全端口扫描查看tcp服务 三个端口服务21的ftp服务、4200的shellinabox服务&#xff0c;是一个web界面的shell连接工具&#xff0c;12359的一…

P2036 [COCI 2008/2009 #2] PERKET(dfs)

#include<bits/stdc.h> using namespace std;int n; int a[15],b[15]; int ansINT_MAX; // 初始化最小差值为一个很大的数&#xff0c;保证能找到最小值void dfs(int i,int s,int k){if(in){ // 当遍历完所有元素时if(s1&&k0) return;int difabs(s-k);ans mi…