HTML CSS第七、八次笔记

127 阅读14分钟

1 弹性盒子换行

image.png

1.1 实现重点

·使用justify-content: space-between;实现主轴对齐
·使用margin-bottom: 14px;实现小li上下间隙
·使用flex-wrap: wrap;实现弹性盒子换行

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    /* margin: 0 和 padding: 0 用于清除所有元素的默认外边距和内边距 */
    /* box-sizing: border-box 设置盒模型的计算方式,使得元素的宽度和高度包含内边距和边框 */
    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    .mi {
      /* 父控子(布局) */
      display: flex;
      /* 主轴分布(两个子盒子贴两边) */
      justify-content: space-between;
      width: 1226px;
      height: 614px;
      /* background-color: pink; */
      margin: 100px auto;
    }

    .left {
      width: 234px;
      height: 614px;
      background-color: skyblue;
    }

    .right {
      width: 978px;
      height: 614px;
      background-color: purple;
    }

    .right ul {
      display: flex;
      /* 弹性盒子换行 */
      flex-wrap: wrap;
      justify-content: space-between;
      
    }

    .right li {
      width: 234px;
      height: 300px;
      background-color: orange;
      /* 去除小li的小点 */
      list-style: none;
      margin-bottom: 14px;
    }
  </style>
</head>

<body>
  <div class="mi">
    <div class="left"></div>
    <div class="right">
      <ul>
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
        <li>6</li>
        <li>7</li>
        <li>8</li>
      </ul>
    </div>
  </div>
</body>

</html>

结果:

image.png

2 多行主轴对齐(align-content)

align-content与align-items(测轴对齐)的区别是前者是多行对齐,后者是单行对齐

image.png

2.1 实现重点

·使用justify-content: space-between;实现左右没缝隙(主轴对齐)
·使用align-content: space-between;实现上下没缝隙(测轴对齐)

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    .box {
      display: flex;
      flex-wrap: wrap;
      /* 左右没缝隙(主轴对齐) */
      justify-content: space-between;
      /* 上下没缝隙(测轴对齐) */
      align-content: space-between;
      width: 1000px;
      height: 500px;
      border: 1px solid #000;
      margin: 100px auto;
    }

    .box div {
      width: 300px;
      height: 200px;
      background-color: pink;
    }
  </style>
</head>

<body>
  <div class="box">
    <div>1</div>
    <div>2</div>
    <div>3</div>
    <div>4</div>
    <div>5</div>
    <div>6</div>

  </div>
</body>

</html>

结果:

image.png

3 某个弹性盒子测轴对齐方式(align-self)

3.1 实现重点

·使用align-self实现只移动一个子盒子
·再在css中使用.box:nth-child(n)选中某个盒子给他添加样式

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    .box {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      /* 只让其中一个移动 */

      width: 600px;
      height: 600px;
      border: 1px solid #000;
      margin: 100px auto;
    }

    .box div {
      width: 100px;
      height: 100px;
      background-color: pink;
      border-radius: 50%;
    }

    .box div:nth-child(2) {
      /* 只移动某一个盒子 */
      align-self: center;
    }

    .box div:nth-child(3) {
      align-self: flex-end;
    }
  </style>
</head>

<body>
  <div class="box">
    <div></div>
    <div></div>
    <div></div>
  </div>
</body>

</html>

结果:

image.png

4 修改主轴方向(flex-direction)

image.png

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    .box {
      display: flex;
      /* 默认主轴是横向排列(row),此时要更改主轴方向 */
      flex-direction: column;
      width: 300px;
      height: 300px;
      border: 1px solid #000;
      /* margin: 100px auto; */
      justify-content: center;
      align-items: center;

    }

    .box div {
      width: 100px;
      height: 100px;
      background-color: pink;
    }
  </style>
</head>

<body>
  <div class="box">
    <div>1</div>
    <div>2</div>
  </div>
</body>

</html>

结果:

image.png

5 弹性伸缩比(align-content)

image.png

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    .box {
      display: flex;
      /* 宽度占浏览器的百分之八十 */
      width: 80%;
      height: 150px;
      border: 1px solid #000;
      margin: 50px auto;
    }

    .box div {
      background-color: pink;
      /* 给子盒子添加 */
      /* 子盒子平分父盒子的宽度  写∏就代表分几份*/
      flex: 1;
    }

    .box div:nth-child(2) {
      background-color: purple;
      flex: 2;
      margin: 0 10px;
    }
  </style>
</head>

<body>
  <div class="box">
    <div>1</div>
    <div>2</div>
    <div>3</div>
  </div>

</body>

</html>

结果:

image.png

6 项目案例

6.1 准备工作

image.png

6.1.1 项目目录

image.png

6.1.2 默认样式代码

一般开发的同一前期工作,所以不用手写 直接导入就好 image.png

/* 基础公共样式:清除默认样式 + 设置通用样式 */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

li {
  list-style: none;
}

body {
  /* 设置字体大小14px和行高1.5 */
  font: 14px/1.5 "Microsoft Yahei", "Hiragino Sans GB", "Heiti SC", "WenQuanYi Micro Hei", sans-serif;
  /* 设置字体颜色为#333 */
  color: #333;
}

a {
  color: #333;
  /* 设置超链接无下划线 */
  text-decoration: none;
}

6.2 网页制作思路

image.png

6.2.1 制作网页——header区域

image.png

6.2.2 logo制作

image.png

6.2.3 导航制作技巧(nav)

image.png

6.2.4 用户区域

image.png

6.2.5 banner区域

image.png

6.2.6 左侧模块制作

left>ul>li>a>i

image.png

image.png 结果:

image.png

6.2.7 右侧模块制作

image.png

6.2.8 精品推荐模块

image.png

6.2.9 精品课程

image.png

6.3 示例代码

4.3.1 HTML

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>学成在线</title>
  <!-- 引入base.css文件(公共样式 基本的样式内容都在里面,写项目就直接引入,不用再写) -->
  <link rel="stylesheet" href="css/base.css">
  <!-- 引入index.css文件(首页样式) -->
  <link rel="stylesheet" href="css/index.css">

  </link><!-- header盒子制作结束 -->
</head>

<body>
  <!-- header盒子制作开始 -->
  <div class="header">
    <!-- 嵌套一个版心的盒子 -->
    <div class="wrapper">
      <!-- 1. 左侧logo -->
      <div class="logo">
        <h1>
          <!-- 添加一个a标签 设置一个title属性 当鼠标悬停时显示学成在线 -->
          <a href="#" title="学成在线"> </a>
        </h1>
        <!-- nav导航 -->

      </div>

      <div class="nav">
        <ul>
          <li><a href="#">首页</a></li>
          <li><a href="#">课程</a></li>
          <li><a href="#">职业规划</a></li>
        </ul>

      </div>

      <!-- 搜索框 -->
      <div class="search">
        <input type="search" placeholder="输入关键字">

      </div>


      <div class="user">
        <a href="#">
          <img src="./uploads/user.png" alt="">
          <span>csq</span>
        </a>
      </div>



    </div>
  </div>
  <!-- header盒子制作结束 -->

  <!-- banner盒子开始 -->
  <div class="banner">
    <div class="wrapper">
      <div class="left" <ul>
        <li><a href="#">前端开发<i> > </i></a></li>
        <li><a href="#">后端开发<i>></i></a></li>
        <li><a href="#">移动开发<i>></i></a></li>
        <li><a href="#">人工智能<i>></i></a></li>
        <li><a href="#">商品预测<i>></i></a></li>
        <li><a href="#">云计算&大数据<i>></i></a></li>
        <li><a href="#">运维&测试<i>></i></a></li>
        <li><a href="#">鸿蒙开发<i>></i></a></li>
        <li><a href="#">技术支持<i>></i></a></li>
        </ul>
      </div>
      <div class=" right">
        <h3>我的课程表</h3>
        <div class="content">
          <dl>
            <dt>数据可视化课程</dt>
            <dd><span>正在学习</span>-echarts使用步骤</dd>
          </dl>
          <dl>
            <dt>数据可视化课程</dt>
            <dd><span>正在学习</span>-echarts使用步骤</dd>
          </dl>
          <dl>
            <dt>数据可视化课程</dt>
            <dd><span>正在学习</span>-echarts使用步骤</dd>
          </dl>
          <!-- 按钮——使用链接完成 -->
          <a href="#">全部课程</a>
        </div>
      </div>
    </div>
  </div>
  <!-- banner盒子结束 -->


  <!-- 精品推荐模块开始 (意思是这个盒子既有recommend样式又有wrapper样式)-->
  <div class="recommend wrapper">
    <h3>精品推荐</h3>
    <ul>
      <li><a href="#"> HTML </a></li>
      <li><a href="#"> CSS </a></li>
      <li><a href="#"> JavaScript </a></li>
      <li><a href="#"> Node.js </a></li>
      <li><a href="#"> Ajax </a></li>
      <li><a href="#"> Web1.0 </a></li>
      <li><a href="#"> Web2.0 </a></li>
      <li><a href="#"> TypeScript </a></li>
      <li><a href="#"> React </a></li>

    </ul>
    <a href="#" class="mod">修改兴趣</a>

  </div>
  <!-- 精品推荐模块结束 -->

  <!-- 课程模块 开始 -->
  <div class="wrapper">
    <div class="hd">
      <h3>精品推荐</h3>
      <a href="#" class="all">查看全部 <i>></i></a>
    </div>
    <div class="bd">
      <ul>
        <li><a href="#">
            <!-- 图片 -->
            <img src="./uploads/course01.png" alt="">
            <!-- 标题 -->
            <h4>JavaScript数据看板项目实战</h4>
            <!-- 段落 -->
            <p><span>高级</span> · 1125人在学习</p>
          </a></li>
        <li><a href="#">
            <!-- 图片 -->
            <img src="./uploads/course02.png" alt="">
            <!-- 标题 -->
            <h4>Vue.js项目实战——电商后台管理系统</h4>
            <!-- 段落 -->
            <p><span>高级</span> · 1125人在学习</p>
          </a></li>
        <li><a href="#">
            <!-- 图片 -->
            <img src="./uploads/ai01.png" alt="">
            <!-- 标题 -->
            <h4>玩转Vue3全家桶,iHRM人力资源管理系统</h4>
            <!-- 段落 -->
            <p><span>高级</span> · 1125人在学习</p>
          </a></li>
        <li><a href="#">
            <!-- 图片 -->
            <img src="./uploads/ai02.png" alt="">
            <!-- 标题 -->
            <h4>Vue.js实战医疗项目-医院预约挂号系统</h4>
            <!-- 段落 -->
            <p><span>高级</span> · 1125人在学习</p>
          </a></li>
        <li><a href="#">
            <!-- 图片 -->
            <img src="./uploads/ai03.png" alt="">
            <!-- 标题 -->
            <h4>前端框架Flutter实战-仿网易云音乐</h4>
            <!-- 段落 -->
            <p><span>高级</span> · 1125人在学习</p>
          </a></li>
        <li><a href="#">
            <!-- 图片 -->
            <img src="./uploads/ai05.png" alt="">
            <!-- 标题 -->
            <h4>熟练使用React.js-极客园PC端项目实战</h4>
            <!-- 段落 -->
            <p><span>高级</span> · 1125人在学习</p>
          </a></li>
        <li><a href="#">
            <!-- 图片 -->
            <img src="./uploads/ai06.png" alt="">
            <!-- 标题 -->
            <h4>前端实用技术,Fetch API</h4>
            <!-- 段落 -->
            <p><span>高级</span> · 1125人在学习</p>
          </a></li>
        <li><a href="#">
            <!-- 图片 -->
            <img src="./uploads/course01.png" alt="">
            <!-- 标题 -->
            <h4>JavaScript数据看板项目实战</h4>
            <!-- 段落 -->
            <p><span>高级</span> · 1125人在学习</p>
          </a></li>
        <li><a href="#">
            <!-- 图片 -->
            <img src="./uploads/course02.png" alt="">
            <!-- 标题 -->
            <h4>Webpack5零基础入门</h4>
            <!-- 段落 -->
            <p><span>高级</span> · 1125人在学习</p>
          </a></li>
        <li><a href="#">
            <!-- 图片 -->
            <img src="./uploads/ai03.png" alt="">
            <!-- 标题 -->
            <h4>json-server实战-模拟后端接口</h4>
            <!-- 段落 -->
            <p><span>高级</span> · 1125人在学习</p>
          </a></li>
      </ul>
    </div>
  </div>
  <!-- 课程模块 结束 -->

  <!-- 前端模块开始 -->
  <div class="wrapper">
    <div class="hd">
      <h3>前端开发工程师</h3>
      <ul>
        <li><a href="#" class="'hot">热门</a></li>
        <li><a href="#">高级</a></li>
        <li><a href="#">中级</a></li>
        <li><a href="#">初级</a></li>
      </ul>
      <a href="#" class="all">查看全部 <i>></i></a>

    </div>
    <div class="bd">
      <div class="left">
        <a href="#"><img
            src="C:\Users\陈淑琴\AppData\Local\Temp\50848e96-e223-475e-bb4f-a23edf9a0c07_01-html和css基础.rar.01-html和css基础.rar\01-html和css基础(1)\html和css基础\前端基础第八天\06-素材\study\uploads\web_left.png"
            alt=""></a>
      </div>
      <div class="right">
        <div class="top"><img
            src="C:\Users\陈淑琴\AppData\Local\Temp\128fae6a-a5fb-4cc6-89d7-aaf4378818bb_01-html和css基础.rar.01-html和css基础.rar\01-html和css基础(1)\html和css基础\前端基础第七天\06-素材\study\uploads\web_top.png"
            alt=""></div>
        <div class="bottom">
          <ul>
            <li><a href="#">
                <!-- 图片 -->
                <img src="./uploads/course01.png" alt="">
                <!-- 标题 -->
                <h4>JavaScript数据看板项目实战</h4>
                <!-- 段落 -->
                <p><span>高级</span> · 1125人在学习</p>
              </a></li>
            <li><a href="#">
                <!-- 图片 -->
                <img src="./uploads/course02.png" alt="">
                <!-- 标题 -->
                <h4>Vue.js项目实战——电商后台管理系统</h4>
                <!-- 段落 -->
                <p><span>高级</span> · 1125人在学习</p>
              </a></li>
            <li><a href="#">
                <!-- 图片 -->
                <img src="./uploads/ai01.png" alt="">
                <!-- 标题 -->
                <h4>玩转Vue3全家桶,iHRM人力资源管理系统</h4>
                <!-- 段落 -->
                <p><span>高级</span> · 1125人在学习</p>
              </a></li>
            <li><a href="#">
                <!-- 图片 -->
                <img src="./uploads/ai02.png" alt="">
                <!-- 标题 -->
                <h4>Vue.js实战医疗项目-医院预约挂号系统</h4>
                <!-- 段落 -->
                <p><span>高级</span> · 1125人在学习</p>
              </a></li>



          </ul>
        </div>
      </div>
    </div>
  </div>
  <!-- 前端模块结束 -->

  <div class="wrapper">
    <div class="hd">
      <h3>Python开发工程师</h3>
      <ul>
        <li><a href="#" class="'hot">热门</a></li>
        <li><a href="#">高级</a></li>
        <li><a href="#">中级</a></li>
        <li><a href="#">初级</a></li>
      </ul>
      <a href="#" class="all">查看全部 <i>></i></a>

    </div>
    <div class="bd">
      <div class="left">
        <a href="#"><img
            src="C:\Users\陈淑琴\AppData\Local\Temp\50848e96-e223-475e-bb4f-a23edf9a0c07_01-html和css基础.rar.01-html和css基础.rar\01-html和css基础(1)\html和css基础\前端基础第八天\06-素材\study\uploads\web_left.png"
            alt=""></a>
      </div>
      <div class="right">
        <div class="top"><img
            src="C:\Users\陈淑琴\AppData\Local\Temp\128fae6a-a5fb-4cc6-89d7-aaf4378818bb_01-html和css基础.rar.01-html和css基础.rar\01-html和css基础(1)\html和css基础\前端基础第七天\06-素材\study\uploads\web_top.png"
            alt=""></div>
        <div class="bottom">
          <ul>
            <li><a href="#">
                <!-- 图片 -->
                <img src="./uploads/course01.png" alt="">
                <!-- 标题 -->
                <h4>JavaScript数据看板项目实战</h4>
                <!-- 段落 -->
                <p><span>高级</span> · 1125人在学习</p>
              </a></li>
            <li><a href="#">
                <!-- 图片 -->
                <img src="./uploads/course02.png" alt="">
                <!-- 标题 -->
                <h4>Vue.js项目实战——电商后台管理系统</h4>
                <!-- 段落 -->
                <p><span>高级</span> · 1125人在学习</p>
              </a></li>
            <li><a href="#">
                <!-- 图片 -->
                <img src="./uploads/ai01.png" alt="">
                <!-- 标题 -->
                <h4>玩转Vue3全家桶,iHRM人力资源管理系统</h4>
                <!-- 段落 -->
                <p><span>高级</span> · 1125人在学习</p>
              </a></li>
            <li><a href="#">
                <!-- 图片 -->
                <img src="./uploads/ai02.png" alt="">
                <!-- 标题 -->
                <h4>Vue.js实战医疗项目-医院预约挂号系统</h4>
                <!-- 段落 -->
                <p><span>高级</span> · 1125人在学习</p>
              </a></li>



          </ul>
        </div>
      </div>
    </div>
  </div>



  <div class="wrapper">
    <div class="hd">
      <h3>后端开发工程师</h3>
      <ul>
        <li><a href="#" class="'hot">热门</a></li>
        <li><a href="#">高级</a></li>
        <li><a href="#">中级</a></li>
        <li><a href="#">初级</a></li>
      </ul>
      <a href="#" class="all">查看全部 <i>></i></a>

    </div>
    <div class="bd">
      <div class="left">
        <a href="#"><img
            src="C:\Users\陈淑琴\AppData\Local\Temp\50848e96-e223-475e-bb4f-a23edf9a0c07_01-html和css基础.rar.01-html和css基础.rar\01-html和css基础(1)\html和css基础\前端基础第八天\06-素材\study\uploads\web_left.png"
            alt=""></a>
      </div>
      <div class="right">
        <div class="top"><img
            src="C:\Users\陈淑琴\AppData\Local\Temp\128fae6a-a5fb-4cc6-89d7-aaf4378818bb_01-html和css基础.rar.01-html和css基础.rar\01-html和css基础(1)\html和css基础\前端基础第七天\06-素材\study\uploads\web_top.png"
            alt=""></div>
        <div class="bottom">
          <ul>
            <li><a href="#">
                <!-- 图片 -->
                <img src="./uploads/course01.png" alt="">
                <!-- 标题 -->
                <h4>JavaScript数据看板项目实战</h4>
                <!-- 段落 -->
                <p><span>高级</span> · 1125人在学习</p>
              </a></li>
            <li><a href="#">
                <!-- 图片 -->
                <img src="./uploads/course02.png" alt="">
                <!-- 标题 -->
                <h4>Vue.js项目实战——电商后台管理系统</h4>
                <!-- 段落 -->
                <p><span>高级</span> · 1125人在学习</p>
              </a></li>
            <li><a href="#">
                <!-- 图片 -->
                <img src="./uploads/ai01.png" alt="">
                <!-- 标题 -->
                <h4>玩转Vue3全家桶,iHRM人力资源管理系统</h4>
                <!-- 段落 -->
                <p><span>高级</span> · 1125人在学习</p>
              </a></li>
            <li><a href="#">
                <!-- 图片 -->
                <img src="./uploads/ai02.png" alt="">
                <!-- 标题 -->
                <h4>Vue.js实战医疗项目-医院预约挂号系统</h4>
                <!-- 段落 -->
                <p><span>高级</span> · 1125人在学习</p>
              </a></li>



          </ul>
        </div>
      </div>
    </div>
  </div>


  <!-- 人工智能模块开始 -->
  <div class="wrapper">
    <div class="wrapper">
      <div class="hd">
        <h3>精品推荐</h3>
        <a href="#" class="all">查看全部 <i>></i></a>
      </div>
      <div class="bd">
        <ul class="line">
          <li><a href="#">
              <!-- 图片 -->
              <img src="./uploads/course01.png" alt="">
              <!-- 标题 -->
              <h4>JavaScript数据看板项目实战</h4>
              <!-- 段落 -->
              <p><span>高级</span> · 1125人在学习</p>
            </a></li>
          <li><a href="#">
              <!-- 图片 -->
              <img src="./uploads/course02.png" alt="">
              <!-- 标题 -->
              <h4>Vue.js项目实战——电商后台管理系统</h4>
              <!-- 段落 -->
              <p><span>高级</span> · 1125人在学习</p>
            </a></li>
          <li><a href="#">
              <!-- 图片 -->
              <img src="./uploads/ai01.png" alt="">
              <!-- 标题 -->
              <h4>玩转Vue3全家桶,iHRM人力资源管理系统</h4>
              <!-- 段落 -->
              <p><span>高级</span> · 1125人在学习</p>
            </a></li>
          <li><a href="#">
              <!-- 图片 -->
              <img src="./uploads/ai02.png" alt="">
              <!-- 标题 -->
              <h4>Vue.js实战医疗项目-医院预约挂号系统</h4>
              <!-- 段落 -->
              <p><span>高级</span> · 1125人在学习</p>
            </a></li>
          <li><a href="#">
              <!-- 图片 -->
              <img src="./uploads/ai03.png" alt="">
              <!-- 标题 -->
              <h4>前端框架Flutter实战-仿网易云音乐</h4>
              <!-- 段落 -->
              <p><span>高级</span> · 1125人在学习</p>
            </a></li>
        </ul>
      </div>
    </div>
    <!-- 人工智能模块结束 -->

    <!-- 底部盒子开始 -->
    <div class="footer">
      <div class="wrapper">
        <div class="left">
          <a href="./index.html" class="f-logo"></a>
          <p>学成在线致力于中国最好的教育,它与中国一流大学和一流教学机构合作,提供最好的在线课程</p>
          <a href="#" class="app">下载APP</a>
        </div>
        <div class="right">
          <dl>
            <dt>关于学成在线</dt>
            <dd><a href="#">关于我们</a></dd>
            <dd><a href="#">联系我们</a></dd>
            <dd><a href="#">帮助中心</a></dd>
            <dd><a href="#">意见反馈</a></dd>
          </dl>
          <dl>
            <dt>关于学成在线</dt>
            <dd><a href="#">关于我们</a></dd>
            <dd><a href="#">联系我们</a></dd>
            <dd><a href="#">帮助中心</a></dd>
            <dd><a href="#">意见反馈</a></dd>
          </dl>
          <dl>
            <dt>关于学成在线</dt>
            <dd><a href="#">关于我们</a></dd>
            <dd><a href="#">联系我们</a></dd>
            <dd><a href="#">帮助中心</a></dd>
            <dd><a href="#">意见反馈</a></dd>
          </dl>
        </div>

      </div>


    </div>
    <!-- 底部盒子结束 -->
</body>

</html>

4.3.2 CSS代码

/* 书写自己的首页 */
/* body指定一个背景色 */
body {
  background-color: #f3f5f7;
  height: 3000px;
}

i {
  /* 去掉斜体 */
  font-style: normal;
}

/* 1 定义一个版心  */
.wrapper {

  width: 1200px;
  /* 水平居中 */
  margin: 0 auto;
}

/* 2. 顶部通栏(不需要宽度) */

.header {
  height: 100px;
  width: 100%;
  background-color: #fff;
}

.logo {
  width: 195px;
  height: 41px;
}

.logo a {
  /* 转化为块级元素 则就可以扩大点击范围 */
  display: block;
  height: 41px;
  /* 添加背景图片 */
  background: url(../images/logo.png) no-repeat center center;
  /* 隐藏文字 - font-size:0 通过将字体大小设置为0来隐藏文字
     原理:当字体大小为0时,文字就会缩小到看不见的程度,从而实现隐藏效果
     这是一种常用的CSS隐藏文字的技巧,但文字仍然存在于DOM中,有利于SEO */
  font-size: 0;

}


/* 使用后代选择器 选择header盒子中的wrapper盒子 设置一个padding-top */
.header .wrapper {
  display: flex;
  padding-top: 29px;

}

.nav {
  margin-left: 100px;
}

.nav ul {
  display: flex;
}

.nav ul li {
  margin-right: 20px;
}

.nav li a {
  font-size: 19px;
  /* 上下左右都加上8px */
  padding: 8px;
  /* 通过设置行高实现字体上下位移 */
  line-height: 30px;
  /* margin-right: 20px; */
}

.nav li a:hover {
  color: #000;
  /* 鼠标经过添加下划线 */
  border-bottom: 2px solid skyblue;
}

.search {
  width: 412px;
  height: 40px;
  border: 1px solid #f3f5f7;
  border-radius: 20px;
  margin-left: 80px;
}

.search input {
  width: 412px;
  height: 40px;
  /* 去掉自带的边框 */
  border: 0;
  /* 表单透明 */
  background-color: transparent;
  padding-left: 20px;
  padding-right: 30px;
  /* 去掉点击之后显示的黑色边框 */
  outline: 0;
}

.user {
  margin-left: 32px;
}

.user img {
  /* 默认图片和文字底对齐,所以要手动调整文字位置 */
  /* 让图片和文字垂直居中对齐 */
  vertical-align: middle;
}

.user span {
  color: #666;
}

.banner {
  width: 100%;
  height: 420px;
  background-color: #0092cb;
  background: url(../uploads/banner.png) no-repeat center center;
  background-size: cover;
}

.banner .wrapper {

  display: flex;
  height: 420px;
  justify-content: space-between;
  background: url(../uploads/banner.png) no-repeat center center;
  /* 测轴居中 */
  align-items: center;
}

/* 左侧导航栏 (开始)*/
.banner .left {
  width: 191px;
  height: 420px;
  background-color: rgba(0, 0, 0, 0.42);
  padding-top: 3px;
}

.banner .left li a {
  /* a是行内元素(没有高度),所以需要转化为块级元素 */
  display: flex;
  /* 主轴两侧对其 */
  justify-content: space-between;
  height: 46px;
  line-height: 46px;
  font-size: 16px;
  color: #fff;
  padding: 0 20px;

}

/* 鼠标经过时背景颜色和字体颜色改变 */
.banner .left li a:hover {
  background-color: rgba(0, 0, 0, 0.3);
  color: #00a4ff;
}

/* 左侧导航栏 (结束)*/

/* 右侧课程表 (开始)*/
.banner .right {
  width: 218px;
  height: 305px;
  padding-top: 18px;
  background-color: #209dd5;
  border-radius: 15px;

}

.banner .right h3 {
  height: 31px;
  color: #fff;
  /* 居中位置 */
  text-align: center;
  font-size: 15px;

}

.banner .right .content {
  height: 257px;
  background-color: #fff;
  border-radius: 15px;
  padding: 14px;
}

.banner .right .content dt {
  font-size: 14px;
  /* 加粗 */
  font-weight: 700;
}

.banner .right .content dd {
  font-size: 12px;
  margin: 8px 0;
  color: #7d7d7d;
}

.banner .right .content dd span {
  color: #00a4ff;
}

.banner .right .content dl {
  border-bottom: 1px solid #e0e0e0;
  margin-bottom: 10px;
}

.banner .right .content a {
  /* 转化为块级元素 */
  display: block;
  height: 32px;
  background-color: #00a4ff;
  border-radius: 16px;
  /* 字体大小 */
  font-size: 14px;
  /* 文字颜色 */
  color: #fff;
  /* 文字居中 */
  text-align: center;
  /* 行高 */
  line-height: 32px;

}

.banner .right .content a:hover {
  background-color: #049bec;
  /* 加影子 */
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3);
}

.recommend {
  display: flex;
  /* 主轴两侧对其 (让推荐模块和精品推荐模块贴着盒子边)*/
  justify-content: space-between;
  height: 62px;
  background-color: #fff;
  margin-top: 12px;
  box-shadow: 0 1px 2px 0px rgba(211, 211, 211, 0.5);
  line-height: 60px;
  padding: 0 20px;


}

.recommend h3 {
  font-size: 18px;
  color: #00a4ff;
  font-weight: 400;

}

.recommend ul {
  display: flex;
  /* 伸缩比,沾满所有的空间,文字默认左对齐 (优点:多几个小li也不会影响布局)*/
  /* 由于 ul 设置了 flex: 1,它会自动占据 h3 和 .mod
   元素之间的所有可用空间,使得导航链接能够均匀分布在
   这个空间中。(圣杯布局) */
  /* 可以让精品推荐和修改兴趣之间的模块靠左对其而不会受"justify-content:space-between"
  影响居中对齐 */
  flex: 1;
}

.recommend ul li a {
  border-right: 1px solid #e0e0e0;
  padding-left: 20px;
  padding-right: 20px;
}

.recommend ul li a:hover {
  color: #00a4ff;
}

.recommend ul li:last-child a {
  border-right: 0;
}

.recommend .mod {
  color: #00a4ff;
  font-size: 16px;

}

/* 课程模块 */
.hd {
  display: flex;
  justify-content: space-between;
  height: 30px;
  line-height: 30px;
  /* background-color: pink; */
  margin: 30px 0 15px;
}

.hd h3 {
  font-size: 21px;
  font-weight: 400;
}

.hd .all {
  font-size: 14px;
  color: #999;
}

.bd ul {
  display: flex;
  /* 强制换行 */
  flex-wrap: wrap;
  /* 主轴两侧对其 */
  justify-content: space-between;


}

.bd li {
  width: 228px;
  height: 271px;
  background-color: #fff;
  margin-bottom: 14px;
  /* 过渡*/
  transition: all 0.3s;
}

.bd li:hover {
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.3);
}

.bd li a h4 {
  height: 55px;
  margin: 20px 20px 0;
}

.bd li a {
  display: block;
  height: 100%;
  font-size: 14px;

}

.bd li a p {
  margin-left: 20px;
}

.bd li a p span {
  color: #fa6400;
}

.hd ul {
  display: flex;
  margin-top: 3px;
}

.hd ul li a {
  font-size: 16px;
  margin: 0 30px;
}

.hd .hot {
  color: #00a4ff;
}

.bd {
  display: flex;
  /* 主轴两侧对其 */
  justify-content: space-between;
}

.bd .left {
  width: 228px;
  height: 386px;
  background-color: pink;
}

.bd .right {
  width: 957px;
  height: 386px;

}

.bd .left .top {
  height: 100px;
  margin-bottom: 15px;
}

.bd .line {
  width: 1200px;
}

.footer {
  width: 100%;
  height: 273px;
  background-color: #fff;
  margin-top: 45px;
  padding-top: 60px;
}

.footer .wrapper {
  display: flex;
  /* 主轴两侧对其 */
  justify-content: space-between;
}

.footer .left .f-logo {
  display: block;
  margin-left: 24px;
  width: 195px;
  height: 41px;
  background: url(../images/logo.png) no-repeat center center;
}

.footer .left p {
  width: 432px;
  font-size: 12px;
  color: #666;
  margin-top: 17px;
  margin: 24px 0 14px;
  margin-left: 24px;
}

.footer .left .app {
  display: block;
  width: 120px;
  height: 36px;
  border: 1px solid #00a4ff;
  /* background-color: #00a4ff; */
  text-align: center;
  line-height: 36px;
  color: #00a4ff;
  font-size: 16px;
  margin-left: 24px;

}

.footer .left .app:hover {
  background-color: #00a4ff;
  color: #fff;
}

.footer .right {
  display: flex;
  justify-content: space-between;
}

.footer .right dl {
  margin-left: 130px;
  margin-right: 24px;
}



.footer .right dt {
  font-size: 14px;
  margin-bottom: 14px;
}

.footer .right dd a {

  color: #666;

}

.footer .right dd a:hover {

  color: #00a4ff;

}

6.3.3 效果展示

image.png

image.png

image.png