HTML5 + CSS3

HTML 基础

准备开发环境
1.vscode 使用
  • 新建文件夹 ---> 左键拖入 vscode 中
2.安装插件
  • 扩展 → 搜索插件 → 安装
  • 打开网页插件:open in browser
  • 汉化菜单插件:Chinese
3.缩放代码字号
  • 放大,缩小:Ctrl + 加号,减号
4.设置默认浏览器
标签基本语法
5.HTML定义
6. vscode 折叠侧边栏 ctrl + b
7. HTML 基本骨架
8.标签的关系

向前向后缩进 Tab / Shift + Tab

9.注释
10.标题标签
11.段落标签
12.换行与水平线标签
13.文本格式化标签(加粗)
14.图像标签-基本使用
15.路径--相对路径和绝对路径

16.超链接

16.音频标签
17.视频标签
18.综合案例一
html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <h1>尤雨溪</h1>
  <hr>
  <p>尤雨溪,前端框架<a href="#">Vue.js</a>的作者,<a href="#">HTML5</a>版Clear的打造人,独立开原开发者。曾就职于Google Creative Labs 和 Meteor Development Group。由于工作中大量接触开源的项目<a href="#">JavaScript</a>,最后自己也走上了开源之路,现全职开发和维护<a href="#">Vue.js</a>。</p>
  <img src="photo.jpg" alt="">
  <h2>学习经历</h2>
  <p>尤雨溪毕业于上海复旦附中,在美国完成大学专业,本科毕业于Colgate University,后在Parsons设计学院获得Design & Technology艺术硕士学位,任职于纽约Google Creative Lab。</p>
  <h2>主要成就</h2>
  <p>尤雨溪<strong>大学专业并非是计算机专业</strong>,在大学期间他学习专业是室内艺术和艺术史,后来读了美术设计和技术的硕士,<u>正是在读硕士期间,他偶然接触到了JavaScript,从此北这门编程语言深深吸引,开启了自己的前端生涯</u>。</p>
  <h2>社会任职</h2>
  <p>2016年9月3日,在南京的JSConf上,Vue作者尤雨溪正式宣布加盟阿里巴巴Weex团队,尤雨溪称他将以技术顾问的身份加入Weex团队来做Vue和Weex的JavaScript runtime 整合,目标是让大家能用Vue的语法跨三端。</p>

</body>
</html>
19.综合案例二
html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <h1>Vue.js</h1>
  <p>Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式JavaScript框架。 [5] 与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用(SPA)提供驱动。</p>
  <p>其作者为<a href="01-标签的写法.html">尤雨溪</a></p>
  <h2>主要功能</h2>
  <p>Vue.js是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue 完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。</p>
  <p>Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。</p>
  <p>Vue.js 自身不是一个全能框架------它只聚焦于视图层。因此它非常容易学习,非常容易与其它库或已有项目整合。另一方面,在与相关工具和支持库一起使用时 [2] ,Vue.js 也能驱动复杂的单页应用。</p>
  <video src="media/vue.mp4" controls></video>
</body>
</html>
列表、表格、表单
20.列表
21.无序列表
html 复制代码
<body>
  <ul>
    <li>列表条目</li>
    <li>列表条目</li>
    <li>列表条目</li>
  </ul>
</body>
22.有序列表
html 复制代码
<body>
  <ol>
    <li>列表条目</li>
    <li>列表条目</li>
    <li>列表条目</li>
  </ol>
</body>
23.定义列表
html 复制代码
<body>
  <dl>
    <dt>服务中心</dt>
    <dd>申请售后</dd>
    <dd>售后政策</dd>
    <dt>线下门店</dt>
    <dd>小米之家</dd>
    <dd>服务网点</dd>
  </dl>
</body>
24.表格
html 复制代码
<body>
  <table border="1">
    <tr>
      <th>姓名</th>
      <th>语文</th>
      <th>数学</th>
      <th>总分</th>
    </tr>
    <tr>
      <td>张三</td>
      <td>99</td>
      <td>100</td>
      <td>199</td>
    </tr>
    <tr>
      <td>李四</td>
      <td>98</td>
      <td>100</td>
      <td>198</td>
    </tr>
    <tr>
      <td>总结</td>
      <td>全市第一</td>
      <td>全市第一</td>
      <td>全市第一</td>
    </tr>
  </table>
</body>
25.表格结构标签
html 复制代码
<body>
  <table border="1">
    <thead>
      <tr>
        <th>姓名</th>
        <th>语文</th>
        <th>数学</th>
        <th>总分</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>张三</td>
        <td>99</td>
        <td>100</td>
        <td>199</td>
      </tr>
      <tr>
        <td>李四</td>
        <td>98</td>
        <td>100</td>
        <td>198</td>
      </tr>
    </tbody>
    <tfoot>
      <tr>
        <td>总结</td>
        <td>全市第一</td>
        <td>全市第一</td>
        <td>全市第一</td>
      </tr>
    </tfoot>
  </table>
26.合并单元格
html 复制代码
    行合并
    <tbody>
      <tr>
        <td>张三</td>
        <td>99</td>
        <td rowspan="2">100</td>
        <td>199</td>
      </tr>
      <tr>
        <td>李四</td>
        <td>98</td>
        <td>198</td>
      </tr>
    </tbody>
html 复制代码
    列合并
    <tfoot>
      <tr>
        <td>总结</td>
        <td colspan="3">全市第一</td>
      </tr>
    </tfoot>
27.表单
28.input标签基本使用

文本框:单行文本

html 复制代码
<body>
  文本框:<input type="text">
</body>

密码框:

html 复制代码
<body>
  密码框:<input type="password">
</body>

单选框:

html 复制代码
<input type="radio">

多选框:

html 复制代码
<input type="checkbox">

上传文件:

html 复制代码
<input type="file">

29.input标签占位文本

html 复制代码
<body>
  文本框:<input type="text" placeholder="请输入用户名">
  <br>
  <br>
  密码框:<input type="password" placeholder="请输入密码">
</body>
29.单选框radio
html 复制代码
<body>
  单选框:<input type="radio" name="gender" checked> 男
         <input type="radio" name="gender"> 女
</body>
30. 上传文件
html 复制代码
上传文件:<input type="file" multiple>
31.多选框:默认选中 Checked
html 复制代码
  兴趣爱好:
  <input type="checkbox" checked> 敲代码
  <input type="checkbox"> 敲前端代码
  <input type="checkbox"> 敲前端 HTML代码
32.下拉菜单
html 复制代码
  城市:
  <select>
    <option>北京</option>
    <option>上海</option>
    <option>广州</option>
    <option>深圳</option>
    <option selected>武汉</option>
  </select>
33.文本域
html 复制代码
<body>
  <textarea>请输入评论</textarea>
</body>
34.label标签
html 复制代码
<body>
  性别:
  <input type="radio" name="gender" id="man"><label for="man">男</label>
  <label ><input type="radio" name="gender"> 女</label>
</body>
35.按钮button

需要用 form 标签 包裹

html 复制代码
<body>
  <!-- form 表单区域 -->
   <!-- action="" 发送数据的地址 -->
  <form action="">
    用户名:<input type="text">
    <br><br>
    密码:<input type="password">
    <br><br>

    <!-- 如果省略 type 属性,功能是 提交 -->
     <button type="submit">提交</button>
     <button type="reset">重置</button>
     <button type="button">普通按钮</button>
  </form>
</body>
36.div 和 span 无语义的布局标签
html 复制代码
<body>
  <!-- div:大盒子 -->
  <div>这是 div 标签</div>
  <div>这是 div 标签</div>
  <!-- span:小盒子 -->
  <span>这是 span 标签</span>
  <span>这是 span 标签</span>
</body>
37.字符实体
html 复制代码
<body>
  <!-- 在代码中敲键盘的空格,网页只识别一个 -->
  乾坤未定,你我皆是黑&nbsp;&nbsp;&nbsp;马。
  &lt;p&gt;
</body>
38.综合案例一
html 复制代码
<body>
  <ul>
    <li>
      <img src="media/images/1.jpg">
      <h4>主帅安东尼奥回西班牙休假</h4>
    </li>
    <li>
      <img src="media/images/2.jpg">
      <h4>梅州主帅:申花有强有力的教练组</h4>
    </li>
    <li>
      <img src="media/images/3.jpg">
      <h4>马德兴:00后球员将首登亚洲舞台</h4>
    </li>
  </ul>
</body>
39.综合案例二
html 复制代码
<body>
<h1>注册信息</h1>
<form action="">
  <h2>个人信息</h2>
  <label>姓名:</label><input type="text" placeholder="请输入真实姓名">
  <br><br>
  <label>密码:</label><input type="password" placeholder="请输入密码">
  <br><br>
  <label>确认密码:</label><input type="password" placeholder="请输入确认密码">
  <br><br>
  <label>性别:</label><label><input type="radio" name="gender">男</label>
      <label><input type="radio" name="gender">女</label>
  <br><br>
  <label>居住城市:</label>
  <select>
    <option selected>北京</option>
    <option>上海</option>
    <option>广州</option>
  </select>
  <h2>教育经历</h2>
  <label>最高学历:</label>
  <select>
    <option selected>本科</option>
    <option>硕士</option>
    <option>博士</option>
  </select>
  <br><br>
  <label>学校名称:</label><input type="text">
  <br><br>
  <label>所学专业:</label><input type="text">
  <br><br>
  <label>在校时间:</label>
  <select>
    <option selected>2017</option>
    <option>2018</option>
    <option>2019</option>
  </select>
  --
  <select>
    <option selected>2019</option>
    <option>2020</option>
    <option>2021</option>
  </select>
  <h2>工作经历</h2>
  <label>公司名称:</label><input type="text">
  <br><br>
  <label>工作描述:</label><textarea></textarea>
  <br><br>
  <label><input type="checkbox">已阅读并同意以下协议</label>
  <br><br>
  <ul>
    <li><a href="#">《用户服务协议》</a></li>
    <li><a href="#">《隐私政策》</a></li>
  </ul>
  <button type="submit">免费注册</button>
  <button type="reset">重新填写</button>
</form>
</body>

CSS基础

1.css初体验
html 复制代码
<!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>
    /* css 代码 */
    /* 选择器 { css 属性} */
    p {
      /* 文字颜色 */
      color:red;
      /* 字号 */
      font-size: 30px;
    }
  </style>
</head>
<body>
  <p>体验 css</p>
</body>
</html>
2.css引入样式

rel:关系 stylesheet:样式表

html文件中:

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <!-- link 引入外部样式表 :rel:关系,样式表-->
  <link rel="stylesheet" href="my.css">
</head>
<body>
  <p>这是 p 标签</p>
  <div style="color:green">这是 div 标签</div>
</body>
</html>

my.css中

html 复制代码
/* 此处放css代码 */
/* 选择器 {css属性} */
p {
  color: red;
}
3.选择器
4.标签选择器
html 复制代码
<!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>
    /* 特点:选中同名标签设置相同的样式,无法差异化同名标签的样式 */
    p {
      color: red;
    }
  </style>
</head>
<body>
  <p>这是 p 标签</p>
  <p>111</p>
  <p>222</p>
</body>

5.类选择器

html 复制代码
<!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>
    /* 定义 */
    .red {
      color: red;
    }

    .size {
      font-size: 50px;
    }
  </style>
</head>
<body>
  <!-- 使用 -->
   <!-- 一个类选择器可以给多个标签使用 -->
  <p class="red">111</p>
  <p>222</p>
  <!-- 一个标签可以使用多个类名,class属性值写多个类名,类名用空格隔开 -->
  <div class="red size">div 标签</div>
</body>
</html>
5.id选择器
html 复制代码
<!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>
    /* 定义 */
    #red {
      color: red;
    }
  </style>
</head>
<body>
  <!-- 使用 -->
  <div id="red">div 标签</div>
</body>
</html>
6.通配符选择器
html 复制代码
<!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>
    /* 定义 */
    * {
      color: red;
    }
  </style>
</head>
<body>
  <!-- 使用 -->
  <p>p 标签</p>
  <div>div 标签</div>
  <h1>h1 标签</h1>
  <ul>
    <li>li</li>
    <li>li</li>
  </ul>
</body>
</html>
7.画盒子
html 复制代码
<!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>
    /* 定义 */
    .red {
      /* 宽度 */
      width: 100px;
      /* 高度 */
      height: 100px;
      /* 背景色 */
      background-color: brown;
    }

    .orange {
      width: 200px;
      height: 200px;
      background-color: orange;
    }
  </style>
</head>
<body>
  <!-- 使用 -->
  <div class="red">div1</div>
  <div class="orange">div2</div>
</body>
</html>
8.文字控制属性
9.字体大小:font-size
html 复制代码
<!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>
    /* 经验:谷歌浏览器文字有默认大小 16px */    
    p {
      /* font-size  属性必须有单位,否则属性不生效 */
      font-size: 30px;
    }
  </style>
</head>
<body>
 <p>测试字体大小</p>
 <div>测试默认字体大小</div>
</body>
</html>
10.字体粗细:font-weight
html 复制代码
<!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>
    h3 {
      font-weight: 400;
    }
    div {
      font-weight: 700;
    }
  </style>
</head>
<body>
 <h3>h3 标题</h3>
 <div>div 标签</div>
</body>
</html>
11.字体样式(是否倾斜)font-style
html 复制代码
<!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>
    em {
      font-style: normal;
    }
    div {
      font-style: italic;
    }
  </style>
</head>
<body>
 <em>em 标签</em>
 <div>div 标签</div>
</body>
</html>
12.行高:line-height

数字 2 代表 2 * font-size 即 2 * 16 px = 32px

html 复制代码
<!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>
    p {
      font-size: 20px;
      /* line-height: 30px; */
      /* 行高值是数字,表示是当前标签字体大小的倍数 */
      line-height: 2;
    }
  </style>
</head>
<body>
 <p>今年受成本驱动、需求拉动以及全球粮价上涨等各种因素叠加影响,我国粮食价格整体上扬,小麦、玉米、大豆价格高位波动,水稻价格运行平稳,优质优价特征明显,农民择机择时售粮,实现种粮收益最大化。但种粮成本持续攀升成为影响农民增收的"拦路虎"。这是因为,在去年高粮价的刺激下,今年土地租金以及化肥、农药、柴油等农资价格大幅上涨,种粮成本随之增加。加之今年粮食生产遭遇去年北方罕见秋雨秋汛、今年"南旱北涝"等极端天气,虽然没有带来灾害性后果,但一些农户为抗灾付出更多生产成本,种粮农户收益空间进一步收窄。</p>
</body>
</html>
13.行高-垂直居中
html 复制代码
<!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>
    div {
      height: 100px;
      background-color: skyblue;
      /* 注意:只能是单行文字垂直居中 */
      line-height: 100px;
    }
  </style>
</head>
<body>
 <div>文字</div>
</body>
</html>
14.字体族 font-family
html 复制代码
<!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>
    div {
      font-family: 楷体;
    }
  </style>
</head>
<body>
 <div>测试文字</div>
</body>
</html>
15.font 复合属性

一般在开发初期使用,直接从京东淘宝复制

html 复制代码
<!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>
    div {
      /* 文字倾斜、文字加粗、字体大小是30px、行高2倍、楷体 */
      font:italic 700 30px/2 楷体;
    }
  </style>
</head>
<body>
 <div>测试 font 属性</div>
</body>
</html>

字号和字体值必须书写,否则 font 属性不生效

html 复制代码
font:30px 楷体;
16.文本缩进 text-indet 2em
html 复制代码
<!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>
    p {
      text-indent: 2em;
    }
  </style>
</head>
<body>
 <p>今年受成本驱动、需求拉动以及全球粮价上涨等各种因素叠加影响,我国粮食价格整体上扬,小麦、玉米、大豆价格高位波动,水稻价格运行平稳,优质优价特征明显,农民择机择时售粮,实现种粮收益最大化。但种粮成本持续攀升成为影响农民增收的"拦路虎"。这是因为,在去年高粮价的刺激下,今年土地租金以及化肥、农药、柴油等农资价格大幅上涨,种粮成本随之增加。加之今年粮食生产遭遇去年北方罕见秋雨秋汛、今年"南旱北涝"等极端天气,虽然没有带来灾害性后果,但一些农户为抗灾付出更多生产成本,种粮农户收益空间进一步收窄。</p>
</body>
</html>
17.文本对齐方式 text-align
html 复制代码
<!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>
    h1 {
      /* 本质:居中的是文字内容,不是标签 */
      /* text-align: left; */
      text-align: center;
      /* text-align: right; */
    }
  </style>
</head>
<body>
 <h1>标题文字</h1>
</body>
</html>
18.水平对齐方式-图片
html 复制代码
<!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>
    div {
      width: 250px;
      height: 250px;
      text-align: center;
    }
    .red {
      color: orange;
    }
  </style>
</head>
<body>
  <div>
    <img src="1.jpg" >
    <h4>Xiaomi Buds 4 Pro</h4>
    <p>48dB智能动态降噪 | 骨声纹通话降噪...</p>
    <span class="red">999元</span>&nbsp;&nbsp;<span><del>1099元</del></span>
  </div>
</body>
</html>
19.文本修饰线 text-decoration
html 复制代码
<!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>
    a {
      text-decoration: none;
    }

    div {
      text-decoration: underline;
    }

    p {
      text-decoration: line-through;
    }

    span {
      text-decoration: overline;
    }
  </style>
</head>
<body>
  <a href="#">a 标签,去掉下划线</a>
  <div>div 标签,添加下划线</div>
  <p>p 标签,添加删除线</p>
  <span>span 标签,添加顶划线</span>
</body>
</html>
20.color 文字颜色

rgba中a越小越透明,a越大越清晰。a=0.3 和 a=0.7

html 复制代码
<!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>
    h1 {
      background-color: aqua;
      /* color: red; */
      /* color: rgb(0, 255, 0); */
      /* color: rgba(0, 0, 0,0.7); */
      /* color: #0000ff; */
      color: #00f;
    }
  </style>
</head>
<body>
  <h1>h1 标签</h1>
</body>
</html>
21.调试工具-谷歌浏览器
html 复制代码
<!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>
    div {
      /* 
        调试工具的细节:
        1.如果是错误的属性,有黄色叹号
        2.CSS 属性的前面有多选框,如果勾选:这个属性生效,如果没有勾选:这个属性不生效
      */
      color:red;
      font-size: 66px;
    }
  </style>
</head>
<body>
  <div>测试文字</div>
</body>
</html>
22.综合案例一 - 新闻详情
html 复制代码
<!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>
    * {
      color: #333;
    }

    h1 {
      font-size: 30px;
      font-weight: 400;
      text-align: center;
    }

    h5 {
      font-size: 14px;
      color: #999;
    }

    p {
      text-indent: 2em;
      font-size: 18px;
    }

    div {
      text-align: center;
    }
  </style>
</head>
<body>
  <h1>在希望的田野上 | 湖北秋收开镰 各地多举措保增产增收</h1>
  <h5>来源:央视网 | 2222年12月12日 12:12:12</h5>
  <p><strong>央视网消息:</strong>眼下,湖北省秋收开镰已有一周多的时间。水稻收割已经超过四成,玉米收割七成。湖北省通过大力推广新品种水稻,建设高标准农田等一系列措施,为秋粮稳产提供有力支撑。</p>
  <p>中稻占据了湖北全年粮食产量的一半以上。在湖北的主产区荆门市,370万亩中稻已经收割四成以上。</p>
  <div><img src="1.jpg" alt=""></div>
  <p>王化林说的新品种,是湖北省研发的杂交水稻"华夏香丝",不仅产量高,还具有抗病、抗倒、抗高温的特性。在荆门漳河镇的一工程示范田内,像"华夏香丝"这样抗旱节水的品种还有20多个,这些水稻新品将在荆门全面推广,确保来年增产增收。</p>
  <p>此外,湖北还大力推进高标准农田建设。截至今年6月,已建成3980万亩高标准农田。目前,湖北全省仍有1800多万亩中稻正在有序收割中,预计10月中旬收割完毕。</p>
</body>
</html>
23.综合案例二 - CSS简介
html 复制代码
<!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>
    h1 {
      color: #333;
    }

    p {
      font-size: 14px;
      line-height: 30px;
      text-indent: 2em;
      color: #444;
    }
    
    a {
      color: #0069c2;
    }
    
    li {
      font-size: 14px;
      line-height: 30px;
      color: #444;
    }
  </style>
</head>
<body>
  <h1>CSS(层叠样式表)</h1>
  <p>层叠样式表 (Cascading Style Sheets,缩写为 CSS),是一种 <a href="#">样式表</a> 语言,用来描述 HTML 或 XML(包括如 SVG、MathML、XHTML 之类的 XML 分支语言)文档的呈现。CSS 描述了在屏幕、纸质、音频等其它媒体上的元素应该如何被渲染的问题。</p>
  <p><strong>CSS 是开放网络的核心语言之一</strong>,由 W3C 规范 实现跨浏览器的标准化。CSS 节省了大量的工作。 样式可以通过定义保存在外部.css 文件中,同时控制多个网页的布局,这意味着开发者不必经历在所有网页上编辑布局的麻烦。CSS 被分为不同等级:CSS1 现已废弃, CSS2.1 是推荐标准, CSS3 分成多个小模块且正在标准化中。</p>
  <ul>
    <li>CSS 介绍 如果你是 Web 开发的新手,请务必阅读我们的 CSS 基础 文章以学习 CSS 的含义和用法。</li>
    <li>CSS 教程 我们的 CSS 学习区 包含了丰富的教程,它们覆盖了全部基础知识,能使你在 CSS 之路上从初出茅庐到游刃有余。</li>
    <li>CSS 参考 针对资深 Web 开发者的 <a href="#">详细参考手册</a> ,描述了 CSS 的各个属性与概念。</li>
  </ul>
</body>
</html>
24.复合选择器
25.后代选择器 div span{}
html 复制代码
<!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>
    /* div 里面的 span 文字颜色是红色 */
    /* 后代选择器,选中所有后代,包含儿子
    孙子、重孙子... */
    div span {
      color: red;
    }
  </style>
</head>
<body>
  <span>span 标签</span>
  <div>
    <span>这是div 的儿子 span</span>
    <p>
      <span>孙子 span</span>
    </p>
  </div>
</body>
</html>
26.子代选择器 div>span{}
html 复制代码
<!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>
    /* div 的儿子 span 文字颜色是红色 */
    div > span {
      color: red;
    }
  </style>
</head>
<body>
  <div>
    <span>儿子 span</span>
    <p>
      <span>孙子 span</span>
    </p>
  </div>
</body>
</html>
27.并集选择器 div,p,span{}
html 复制代码
<!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>
    /* div、p、span 文字颜色是红色 */
    div,
    p,
    span {
      color: red;
    }
  </style>
</head>
<body>
  <div>div 标签</div>
  <p>p 标签</p>
  <span>span 标签</span>
</body>
</html>
28.交集选择器-了解 p.box{}
html 复制代码
<!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>
    /* 第一个 p 标签文字颜色是红色 */
    /* 既又的关系:既是 p 标签,又是有 box 类 */
    p.box {
      color: red;
    }
  </style>
</head>
<body>
  <p class="box">p 标签,使用了类选择器</p>
  <p>p 标签</p>
  <div class="box">div 标签,使用了类选择器</div>
</body>
</html>
29.伪类选择器 a:hover{}
html 复制代码
<!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>
    /* 任何标签都可以设置鼠标悬停的状态 */
    a:hover {
      color: red;
    }

    .box:hover {
      color: green;
    }
  </style>
</head>
<body>
  <a href="#">a 标签,超链接</a>
  <div class="box">div 标签</div>
</body>
</html>

30.伪类-超链接(拓展)
html 复制代码
<!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>
    /* 任何标签都可以设置鼠标悬停的状态 */
    /* a:link {
      color: red;
    }

    a:visited {
      color: green;
    }

    a:hover {
      color: blue;
    }

    a:active {
      color: orange;
    } */
    /* 工作中,一个 a 标签选择器设置超链接的样式,hover状态特殊设置 */
    a {
      color: red;
    }
    a:hover {
      color: green;
    }
  </style>
</head>
<body>
  <a href="#">a 标签,测试伪类</a>
</body>
</html>
31.CSS特性
32.继承性

将文字属性写给父标签 body 子标签继承文字属性

html 复制代码
<!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>
    body {
      font-size: 30px;
      color: red;
      font-weight: 700;
    }
  </style>
</head>
<body>
  <div>div 标签</div>
  <p>p 标签</p>
  <span>span 标签</span>
</body>
</html>

如果标签自己有样式,则生效自己的样式,不继承

a标签有自己的颜色,h1标签有自己的字号

html 复制代码
<!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>
    body {
      font-size: 30px;
      color: red;
      font-weight: 700;
    }
  </style>
</head>
<body>
  <div>div 标签</div>
  <p>p 标签</p>
  <span>span 标签</span>
  
  <!-- 如果标签自己有样式,则生效自己的样式,不继承 -->
  <a href="#">a 标签</a>
  <h1>h1 标签</h1>
</body>
</html>
33.层叠性
html 复制代码
<!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>
    /* 覆盖:叠加 */
    div {
      color: red;
      font-weight: 700;
    }
    div{
      color: green;
      font-size: 30px;
    }
  </style>
</head>
<body>
  <div>div 标签</div>
</body>
</html>
34.优先级
html 复制代码
<!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>
    /* !important 提权功能,提高权重/优先级到 最高 */
    * {
      color: red !important;
    }

    div {
      color: green;
    }

    .box {
      color: blue;
    }

    #test {
      color: orange;
    }
  </style>
</head>
<body>
  <div class="box" id="test" style="color: purple;">div 标签</div>
</body>
</html>

35.优先级-叠加计算规则

html 复制代码
<!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>
    /* (行内,id,类,标签) */
    /* (0,0,2,1) */
    .c1 .c2 div {
      color: blue;
    }
    /* (0,1,0,1) */
    div #box3 {
      color: green;
    }
    /* (0,1,1,0) */ 
    #box1 .c3 {
      color: orange;
    }
  </style>
</head>
<body>
  <div id="box1" class="c1">
    <div id="box2" class="c2">
      <div id="box3" class="c3">
        这行文本是什么颜色的?
      </div>
    </div>
  </div>
</body>
</html>
html 复制代码
<!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>
    /* (行内,id,类,标签) */
    /* (0,2,0,0) */
    #father #son {
      color: blue;
    }
    /* (0,1,1,1) */
    #father p.c2 {
      color: black;
    }
    /* (0,0,2,2) */
    div.c1 p.c2 {
      color: red;
    }
    /* 继承,优先级最低 */
    #father {
      color: green !important;
    }
    /* 继承,优先级最低 */
    div#father.c1 {
      color: yellow;
    }
  </style>
</head>
<body>
  <div id="father" class="c1">
    <p id="son" class="c2">
      这行文本是什么颜色的?
    </p>
  </div>
</body>
</html>
35.Emmet写法
html 复制代码
<!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>
    div {
      width: 500px;
      height: 200px;
      background-color: #fff;
    }
  </style>
</head>
<body>
  <div></div>
  <p class="box"></p>
  <div class="box"></div>
  <p id="box"></p>

  <div></div>
  <p></p>

  <div>
    <p></p>
  </div>

  <span></span><span></span><span></span>

  <div>111</div>
</body>
</html>
36.背景属性
37.背景图 background-image(bgi)
html 复制代码
<!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>
    /* 盒子是 400 * 400 */
    div {
      width: 400px;
      height: 400px;
      /* 背景图默认是平铺(复制)的效果 */
      background-image: url(1.png);
    }
  </style>
</head>
<body>
  <div>div 标签</div>
</body>
</html>

38.背景图平铺方式 background-repeat(bgr)

html 复制代码
<!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>
    div {
      width: 400px;
      height: 400px;
      background-color: pink;

      background-image: url(1.png);
      /* 不平铺:盒子的左上角显示一张背景图 */
      /* background-repeat: no-repeat; */
      /* background-repeat: repeat; */
      /* background-repeat: repeat-x; */
      background-repeat: repeat-y;
    }
  </style>
</head>
<body>
  <div>div 标签</div>
</body>
</html>

no-repeat 、repeat(默认)、repeat-x、repeat-y

38.背景图位置 background-position(bgp)
html 复制代码
<!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>
    div {
      width: 400px;
      height: 400px;
      background-color: pink;

      background-image: url(1.png);
      background-repeat: no-repeat;

      /* 左上角 */
      /* background-position: 0 0; */
      /* background-position: left top; */

      /* 水平:正数向右,负数向左 */
      /* background-position: 50px 0; */
      /* background-position: -50px 0; */

      /*  垂直:正数向下,负数向上 */
      /* background-position: 0 100px;
      background-position: 0 -100; */

      /* background-position: center center; */

      /* 垂直方向居中 */
      /* background-position: left; */
      /* 水平方向居中 */
      background-position: top;

    }
  </style>
</head>
<body>
  <div>div 标签</div>
</body>
</html>

bgp(0,0) 、bgp(50px,0)、bgp(-50px,0)、bgp(center,center)

39.背景图缩放 background-size(bgz)

html 复制代码
<!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>
    div {
      width: 500px;
      height: 300px;
      background-color: pink;

      background-image: url(1.png);
      background-repeat: no-repeat;
      
      /* contains 如果图的宽高跟盒子尺寸相等停止缩放,可能导致盒子有漏白 */
      /* background-size: contain; */

      /* cover:图片完全覆盖盒子,可能导致图片显示不全 */
      /* 如果盒子和图片比例相同,contain和cover效果一样 */
      /* background-size: cover; */

      /* 100% 图片的宽度跟盒子的宽度一样,图片的高度按照图片比例等比缩放 */
      background-size: 100%;

    }
  </style>
</head>
<body>
  <div>div 标签</div>
</body>
</html>

contains、cover

39.背景图固定 background-attachment(bga)
html 复制代码
<!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>
    body {
      background-image: url(bg.jpg);
      background-repeat: no-repeat;
      background-position: center top;

      background-attachment: fixed;
    }
  </style>
</head>
<body>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
  <p>测试文字,撑开body,让浏览器有滚动条</p>
</body>
</html>
40.背景复合属性
html 复制代码
<!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>
    div {
      width: 400px;
      height: 400px;

      background: pink url(1.png) no-repeat center/cover;
    }
  </style>
</head>
<body>
  <div>div 标签</div>
</body>
</html>
41.显示模式 display
html 复制代码
<!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>
    /* 块级:独占一行:宽度默认是父级的100%:加宽高生效 */
    div {
      width: 100px;
      height: 100px;
    }

    .div1 {
      background-color: brown;
    }

    .div2 {
      background-color: orange;
    }

    /* 行内:一行共存多个:尺寸由内容撑开: 加宽高不生效  */
    .sapn1 {
      background-color: brown;
    }

    .sapn2 {
      background-color: orange;
    }

    /* 行内快:一行共存多个,默认尺寸由内容撑开,加宽高生效 */
    img {
      width: 100px;
      height: 100px;
    }
  </style>
</head>
<body>
  <!-- 块元素 -->
   <div class="div1">div 标签1</div>
   <div class="div2">div 标签2</div>

  <!-- 行内元素 -->
   <span class="sapn1">span11111</span>
   <span class="sapn2">span2</span>

  <!-- 行内块元素 -->
   <img src="1.png">
   <img src="1.png">
</body>
</html>
42.转换显示模式
html 复制代码
<!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>
    /* 块级:独占一行:宽度默认是父级的100%:加宽高生效 */
    div {
      width: 100px;
      height: 100px;

      display: inline-block;
    }

    .div1 {
      background-color: brown;
    }

    .div2 {
      background-color: orange;
    }

    /* 行内:一行共存多个:尺寸由内容撑开: 加宽高不生效  */
    .sapn1 {
      background-color: brown;
    }

    .sapn2 {
      background-color: orange;
    }

    /* 行内快:一行共存多个,默认尺寸由内容撑开,加宽高生效 */
    img {
      width: 100px;
      height: 100px;
    }
  </style>
</head>
<body>
  <!-- 块元素 -->
   <div class="div1">div 标签1</div>
   <div class="div2">div 标签2</div>

  <!-- 行内元素 -->
   <span class="sapn1">span11111</span>
   <span class="sapn2">span2</span>

  <!-- 行内块元素 -->
   <img src="1.png">
   <img src="1.png">
</body>
</html>
html 复制代码
    div {
      width: 100px;
      height: 100px;

      display: inline-block;
    }
html 复制代码
    div {
      width: 100px;
      height: 100px;

      display: inline;
    }
html 复制代码
<!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>
    /* 块级:独占一行:宽度默认是父级的100%:加宽高生效 */
    div {
      width: 100px;
      height: 100px;

      display: inline;
    }

    .div1 {
      background-color: brown;
    }

    .div2 {
      background-color: orange;
    }
    span {
      width: 200px;
      height: 200px;
      display: block;
    }

    /* 行内:一行共存多个:尺寸由内容撑开: 加宽高不生效  */
    .sapn1 {
      background-color: brown;
    }

    .sapn2 {
      background-color: orange;
    }

    /* 行内快:一行共存多个,默认尺寸由内容撑开,加宽高生效 */
    img {
      width: 100px;
      height: 100px;
    }
  </style>
</head>
<body>
  <!-- 块元素 -->
   <div class="div1">div 标签1</div>
   <div class="div2">div 标签2</div>

  <!-- 行内元素 -->
   <span class="sapn1">span11111</span>
   <span class="sapn2">span2</span>

  <!-- 行内块元素 -->
   <img src="1.png">
   <img src="1.png">
</body>
</html>
html 复制代码
    span {
      width: 200px;
      height: 200px;
      display: block;
    }
html 复制代码
    span {
      width: 200px;
      height: 200px;
      display: inline-block;
    }
43.综合案例一-热词
html 复制代码
<!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>
    /* 默认效果 */
    div {
      width: 200px;
      height: 80px;
      background-color: #3064bb;

      text-align: center;
      line-height: 80px;
    }

    a {
      /* 去除下划线 */
      text-decoration: none;
      color: #fff;
      font-size: 18px;
    }
    /* 鼠标悬停效果 */
    div:hover {
      background-color: #608dd9;
    }
  </style>
</head>
<body>
  <div>
    <a href="#">HTML</a>
  </div>
  <div>
    <a href="#">CSS</a>
  </div>
  <div>
    <a href="#">JavaScript</a>
  </div>
  <div>
    <a href="#">Vue</a>
  </div>
  <div>
    <a href="#">React</a>
  </div>
</body>
</html>
44.综合案例二-banner效果
html 复制代码
<!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>
    .banner {
      /* 盒子 */
      height: 500px;
      background-color: #f3f3f4;
      /* 背景图 */
      background-image: url(bk.png);
      background-repeat: no-repeat;
      background-position: left bottom;
      color: #333;

      text-align: right;
    }
    .banner h1 {
      line-height: 100px;      
      font-weight: 400;
      font-size: 36px;
    }
    .banner p {
      line-height: 40px;
      font-size: 20px;
    }
    .banner a {
      display: inline-block;
      width: 125px;
      height: 40px;
      background-color: orange;
      line-height: 40px;
      font-size: 16px;
      text-decoration: none;
      text-align: center;
      color: #fff;
    }
  </style>
</head>
<body>
  <div class="banner">
    <h1>让创造产生价值</h1>
    <p>我们希望小游戏平台可以提供无限的可能性,让每一个创作者都可以将他们的才华和创意传递给用户。</p>
    <a href="#">我要报名</a>
  </div>
</body>
</html>
45.结构伪类选择器 a:first-child、last-child、nth-child(3)
html 复制代码
<!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>
    li:first-child {
      background-color: green;
    }

    li:last-child {
      background-color: green;
    }

    li:nth-child(3) {
      background-color: green;
    }
  </style>
</head>
<body>
  <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>
</body>
</html>
46. :nth-child(公式)
html 复制代码
<!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>
    /* li:nth-child(2n)  li:nth-child(2n+1)  li:nth-child(n+2)*/
    li:nth-child(-n+2) {
      background-color: green;
    }
  </style>
</head>
<body>
  <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>
    <li>9</li>
    <li>10</li>
  </ul>
</body>
</html>
47.伪元素选择器
html 复制代码
<!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>
    div::before {
      content: '老鼠';
    }
    /* 必须设置 content 属性,没有 content,伪元素选择器不生效 */
    div::after {
      content: '大米';
    }
  </style>
</head>
<body>
  <!-- 标签内容:老鼠爱大米 -->
  <div>爱</div>
</body>
</html>
48.PxCook
49.盒子模型 padding margin border(bd)
html 复制代码
<!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>
    div {
      width: 200px;
      height: 200px;
      background-color: pink;
      /* 内容与盒子边缘之间 */
      padding: 20px;
      border: 1px solid #000;
      /* 出现在盒子外面,拉开两个盒子之间的距离 */
      margin: 50px;
    }
  </style>
</head>
<body>
  <div>div 标签</div>
</body>
</html>

w200+h200 -> padding 20px -> bd (border) -> margin 50px

50.盒子模型-边框线 border(bd)
51.盒子模型 - 内边距 padding
52.盒子模型 - 尺寸计算 box-sizing:border-box
html 复制代码
<!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>
    div {
      width: 200px;
      height: 200px;
      background-color: pink;
      /* 内容与盒子边缘之间 */
      padding: 20px;
      border: 1px solid #000;
      /* 出现在盒子外面,拉开两个盒子之间的距离 */
      margin: 50px;

      /* 内减模式:不需要手动减法,加padding和border不会撑大盒子 */
      box-sizing: border-box;
    }
  </style>
</head>
<body>
  <div>div 标签</div>
</body>
</html>
53.盒子模型 - 外边距 margin
54.版心居中 margin: 0 auto;
html 复制代码
<!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>
    div {
      width: 1000px;
      height: 200px;
      background-color: pink;
      /* 外边距不会撑大盒子 */
      /* 上下 0  左右居中 */
      margin: 0 auto;
      
    }
  </style>
</head>
<body>
  <div>版心内容</div>
</body>
</html>
55.清除默认样式 去除列表符号li{list-style:none}

默认格式 橘色 外边距 绿色 内边距

h1 有上下外边距

p标签有默认上下外边距

li有上下外边距和左内边距

html 复制代码
  <style>
    * {
      margin:0;
      padding: 0;
      box-sizing: border-box;
    }
    /* 去掉列表的项目符号 */
    li {
      list-style: none
    }
  </style>
<body>
  <h1>标题</h1>
  <p>ppp</p>
  <ul>
    <li>li</li>
  </ul>
</body>

56.盒子模型-元素溢出 overflow:hidden
57.外边距问题 - 合并现象
58.外边距问题 - 塌陷问题 取消子级margin设置父级padding
html 复制代码
  <style>
    .father {
      width: 300px;
      height: 300px;
      background-color: pink;
    }

    .son {
      width: 100px;
      height: 100px;
      background-color: orange;
    }
  </style>

<body>
  <div class="father">
    <div class="son">son</div>
  </div>
</body>
html 复制代码
  <style>
    .father {
      width: 300px;
      height: 300px;
      background-color: pink;
    }

    .son {
      width: 100px;
      height: 100px;
      background-color: orange;

      margin-top: 50px;
    }
  </style>
html 复制代码
  <style>
    .father {
      width: 300px;
      height: 300px;
      background-color: pink;

      padding-top: 50px;

      /* overflow: hidden; */
      /* border: 1px solid #000;; */
    }

    .son {
      width: 100px;
      height: 100px;
      background-color: orange;

      /* margin-top: 50px; */
    }
  </style>
59.行内元素 - 内外边距问题 增加 line-height属性
60.盒子模型 - 圆角border-radius
html 复制代码
  <style>
    div {
      width: 200px;
      height: 200px;
      background-color: orange;

      margin: 50px auto;
      /* border-radius: 50%; */
      border-radius: 25%;
    }
  </style>

<body>
  <div></div>
</body>

border-radius: 50% 25%;

html 复制代码
  <style>
    div {
      width: 500px;
      height: 200px;
      background-color: orange;

      margin: 50px auto;
      border-radius: 100px;
      /* border-radius: 50%; */
      /* border-radius: 25%; */
    }
  </style>

<body>
  <div></div>
</body>
html 复制代码
  <style>
    img {
      width: 200px;
      height: 200px;

      border-radius: 50%;
    }

    div {
      width: 200px;
      height: 80px;
      background-color: orange;

      border-radius: 40px;
    }
  </style>

<body>
  <img src="1.png" alt="">
  <div></div>
</body>
61.盒子模型 - 阴影(拓展)box-shadow
html 复制代码
  <style>
    div {
      width: 200px;
      height: 80px;
      background-color: orange;

      margin: 50px auto;

      box-shadow: 2px 5px 10px 1px rgba(0, 0, 0, 0.5);
    }
  </style>
</head>
<body>
  <div></div>
</body>
62.综合案例一 - 产品卡片
html 复制代码
<body>
  <div class="product">
    <img src="liveSDK.svg" alt="">
    <p class="title">抖音直播SDK</p>
    <p class="desc">包含抖音直播看播功能</p>
  </div>
</body>
html 复制代码
  <style>
    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    body {
      background-color: #f1f1f1;
    }
    .product {
      margin: 50px auto;
      padding-top: 40px;

      width: 270px;
      height: 253px;
      /* 不写背景色会自动继承 */
      background-color: #fff;

      text-align: center;

      border-radius: 10px;      
    }

    .product .title {
      margin-top: 20px;
      margin-bottom: 12px;

      font-size: 18px;
      color: #333;
    }

    .product .desc {
      font-size: 12px;
      color: #555;
    }
  </style>
63.综合案例二 - 新闻列表
html 复制代码
<body>
  <!-- 新闻区域 包含 标题 + 内容 -->
   <div class="news">
    <div class="hd">
      <a href="#">新闻</a>
    </div>
    <div class="bd">
      <ul>
        <li><a href="#">点赞"新农人" 温暖的伸手</a></li>
        <li><a href="#">在希望的田野上...</a></li>
        <li><a href="#">"中国天眼"又有新发现 已在《自然》杂志发表</a></li>
        <li><a href="#">急!这个领域,缺人!月薪4万元还不好招!啥情况?</a></li>
        <li><a href="#">G9"带货"背后:亏损面持续扩大,竞争环境激烈</a></li>        
        <li><a href="#">多地力推二手房"带押过户",有什么好处?</a></li>        
      </ul>
    </div>
   </div>
</body>
html 复制代码
  <style>
    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    li {
      list-style: none;
    }

    a {
      text-decoration: none;
    }

    .news {
      margin: 50px auto;
      width: 360px;
      height: 200px;
      /* background-color: pink; */
    }

    .news .hd {
      height: 34px;
      background-color: #eee;
      border: 1px solid #dbdee1;
      border-left: 0;
    }

    .news .hd a {
      margin-top: -1px;
      display: inline-block;
      border-top: 3px solid #ff8400;
      border-right: 1px solid #dbdee1;
      width: 48px;
      height: 34px;
      background-color: #fff;

      text-align: center;
      line-height: 32px;
      font-size: 14px;
      color: #333;
    }

    .news .bd {
      padding: 5px;
    }

    .news .bd li {
      padding-left: 15px;
      background-image: url(square.png);
      background-repeat: no-repeat;
      background-position: left center;
    }

    .news .bd li a {
      padding-left: 20px;
      background-image: url(img.gif);
      background-repeat: no-repeat;
      background-position: left center;

      font-size: 12px;
      color: #666;
      line-height: 24px;
    }

    .news .bd li a:hover {
      color: orange;
    }
    
  </style>
64.标准流
65.浮动
html 复制代码
  <style>
    /* 特点:顶对齐,具备行内块显示模式特点 :浮动的盒子会脱标*/
    .one {
      width: 100px;
      height: 100px;
      background-color: brown;

      float: left;
    }

    .two {
      width: 200px;
      height: 200px;
      background-color: orange;

      /* float: left; */
      /* float: right; */
    }
  </style>
</head>
<body>
  <div class="one">one</div>
  <div class="two">two</div>
</body>

66.浮动 - 产品区域布局
html 复制代码
<body>
  <!-- 版心:左右,右面:8个产品 -> 8 个 li -->
   <div class="product">
    <div class="left"></div>
    <div class="right">
      <ul>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
      </ul>
    </div>
   </div>
</body>
html 复制代码
  <style>
    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    li {
      list-style: none;
    }

    .product {
      margin: 50px auto;
      width: 1226px;
      height: 628px;
      background-color: pink;
    }

    .product .left {
      float: left;
      width: 234px;
      height: 628px;
      background-color: skyblue;      
    }

    .product .right {
      float: right;
      width: 978px;
      height: 628px;
      background-color: brown;      
    }

    .product .right li {
      float: left;
      margin-right: 14px;
      margin-bottom: 14px;
      width: 234px;
      height: 300px;
      background-color: orange;
    }

    /* 第四个li和第八个li 去掉右侧的 margin */
    .product .right li:nth-child(4n){
      margin-right:0;
    }
    /* 细节:如果父级宽度不够,浮动的盒子会掉下来 */
  </style>  
67.清除浮动
html 复制代码
<body>
  <div class="top clearfix">
    <div class="left"></div>
    <div class="right"></div>
    <!-- <div class="clearfix"></div> -->
  </div>
  <div class="bottom"></div>
</body>
html 复制代码
  <style>
    .top {
      margin: 10px auto;
      width: 1200px;
      /* height: 300px; */
      background-color: pink;

      overflow: hidden;
    }

    .left {
      float: left;
      width: 200px;
      height: 300px;
      background-color: skyblue;
    }

    .right {
      float: right;
      width: 950px;
      height: 300px;
      background-color: orange;
    }

    .bottom {
      height: 100px;
      background-color: brown;
    }

    .clearfix {
      clear: both;
    }

    /* 单伪元素法
    .clearfix::after {
      content: "";
      display: block;
      clear: both;
    } */

    /* before 解决外边距塌陷问题 */
    /* 双伪元素法 */
    /* .clearfix::before,
    .clearfix::after {
      content: "";
      display: table;
    } */

    /* after 清除浮动 */
    /* .clearfix::after {
      clear:both;
    } */
  </style>  

68.浮动-总结
69.Flex 布局
html 复制代码
<body>
  <div class="box">
    <div>1</div>
    <div>2</div>
    <div>3</div>
  </div>
</body>
html 复制代码
  <style>
    .box {
      height: 300px;
      border: 1px solid #000;
    }

    .box div {
      width: 200px;
      height: 100px;
      background-color: pink;
    }
  </style> 
html 复制代码
  <style>
    .box {
      display: flex;
      justify-content: space-between;
      height: 300px;
      border: 1px solid #000;
    }

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

70.Flex-组成
71.Flex 布局
72.主轴对齐方式 justify-content
73. 侧轴对齐方式 align-items align-self
html 复制代码
  <style>
    .box {
      display: flex;
      align-items: center;
      height: 300px;
      border: 1px solid #000;
    }

    .box div {
      width: 200px;
      height: 100px;
      background-color: pink;
    }

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

<body>
  <div class="box">
    <div>1</div>
    <div>2</div>
    <div>3</div>
  </div>
</body>
74.修改主轴方向flex-direction
html 复制代码
<body>
  <div class="box">
    <img src="1.png" alt="">
    <span>媒体</span>
  </div>
</body>
html 复制代码
  <style>
    .box {
      display: flex;
      /* 修改主轴方向 垂直方向:侧轴自动变换到水平方向 */
      flex-direction: column;
      /* 主轴在垂直,视觉效果:垂直居中 */
      justify-content: center;
      /* 侧轴在水平,视觉效果:水平居中 */
      align-items: center;

      width: 250px;
      height: 250px;
      /* background-color: pink; */
      border: 1px solid #000;      
    }

    img {
      width: 200px;
      height: 200px;
    }
  </style>  
75.弹性伸缩比 flex
html 复制代码
<body>
  <div class="box">
    <div>1</div>
    <div>2</div>
    <div>3</div>
  </div>
html 复制代码
  <style>
   .box {
    height: 300px;
    border: 1px solid #000;
   }

   .box div {
    height: 100px;
    background-color: pink;
   }

   .box div:nth-child(1){
    width: 200px;
   }
  </style>  
html 复制代码
   .box {
    display: flex;

    height: 300px;
    border: 1px solid #000;
   }
html 复制代码
  <style>
   .box {
    display: flex;

    height: 300px;
    border: 1px solid #000;
   }

   .box div {
    height: 100px;
    background-color: pink;
   }

   .box div:nth-child(1){
    width: 200px;
   }

   .box div:nth-child(2){
    flex: 1;
   }
  </style>  

盒子2,3按照1:2。

html 复制代码
   .box div:nth-child(2){
    flex: 1;
   }

   .box div:nth-child(3){
    flex: 2;
   }

主轴水平,控制盒子的宽。

主轴垂直,控制盒子的高。

html 复制代码
  <style>
   .box {
    display: flex;
    flex-direction: column;

    height: 300px;
    border: 1px solid #000;
   }

   .box div {
    height: 100px;
    background-color: pink;
   }

   .box div:nth-child(1){
    width: 200px;
   }

   .box div:nth-child(2){
    flex: 1;
   }

   .box div:nth-child(3){
    flex: 2;
   }
  </style> 
79.弹性盒子换行 flex-wrap
html 复制代码
<body>
  <div class="box">
    <div>1</div>
    <div>2</div>
    <div>3</div>
    <div>4</div>
    <div>5</div>
    <div>6</div>
    <div>7</div>
    <div>8</div>
    <div>9</div>
    <div>10</div>
    <div>11</div>
    <div>12</div>
  </div>
</body>
html 复制代码
  <style>
   .box {
    display: flex;
    flex-wrap: wrap;

    height: 300px;
    border: 1px solid #000;
   }

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

flex-wrap 默认 nowrap 不换行

添加 justify-content: space-between

80.行对齐方式 align-content
html 复制代码
<body>
  <div class="box">
    <div>1</div>
    <div>2</div>
    <div>3</div>
    <div>4</div>
    <div>5</div>
    <div>6</div>
    <div>7</div>
    <div>8</div>
  </div>
</body>
html 复制代码
  <style>
   .box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    /* 调整行对齐方式 */
    /* align-content: flex-start; */

    width: 900px;
    height: 400px;
    border: 1px solid #000;
   }

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

null align-content: flex-start flex-end center

space-between space-around space-evenly

81.综合案例 - 抖音解决方案
html 复制代码
<body>
  <div class="box">
    <ul>
      <li>
        <div class="left">
          <img src="1.svg" alt="">
        </div>
        <div class="right">
          <h3>一键发布多端</h3>
          <p>发布视频到抖音短视频、西瓜视频及今日头条</p>
        </div>
      </li>
      <li>
        <div class="left">
          <img src="2.svg" alt="">
        </div>
        <div class="right">
          <h3>一键发布多端</h3>
          <p>发布视频到抖音短视频、西瓜视频及今日头条</p>
        </div>
      </li>
      <li>
        <div class="left">
          <img src="3.svg" alt="">
        </div>
        <div class="right">
          <h3>一键发布多端</h3>
          <p>发布视频到抖音短视频、西瓜视频及今日头条</p>
        </div>
      </li>
      <li>
        <div class="left">
          <img src="4.svg" alt="">
        </div>
        <div class="right">
          <h3>一键发布多端</h3>
          <p>发布视频到抖音短视频、西瓜视频及今日头条</p>
        </div>
      </li>
    </ul>
  </div>
</body>
html 复制代码
  <style>
    /* 清除默认样式 */
   * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
   }
   
   li {
    list-style: none;
   }

   .box {
    margin: 50px auto;
    width: 1200px;
    height: 418px;
    border: 1px solid #ddd;
    border-radius: 10px;
   }

   .box ul{    
     display: flex;
     flex-wrap: wrap;
     justify-content: space-between;
     align-content: space-between;

     padding: 90px 40px 90px 60px;
     height: 418px;
     
   }

   .box li {
    display: flex;
    align-items: center;

    width: 500px;
    height: 88px;
   }
  </style>  
学成在线
1.准备工作

index.html

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>学成在线</title>
  <!-- 顺序要求:先清除再设置 -->
  <link rel="stylesheet" href="./css/base.css">
  <link rel="stylesheet" href="./css/index.css">
</head>
<body>
  
</body>
</html>

base.css

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

li {
  list-style: none;
}

body {
  font: 14px/1.5 "Microsoft Yahei", "Hiragino Sans GB", "Heiti SC", "WenQuanYi Micro Hei", sans-serif;
  color: #333;
}

a {
  color: #333;
  text-decoration: none;
}
2.版心效果

index.html

html 复制代码
/* 首页样式 */
/* 版心 */
.wrapper {
  margin: 0 auto;
  width: 1200px;
}
3.网页制作思路
4.header 区域-布局

index.html

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>学成在线</title>
  <!-- 顺序要求:先清除再设置 -->
  <link rel="stylesheet" href="./css/base.css">
  <link rel="stylesheet" href="./css/index.css">
</head>
<body>
  <!-- 头部区域 -->
   <div class="header">
    <div class="wrapper">
      <!-- logo -->
      <div class="logo">logo</div>
      <!-- 导航 -->
      <div class="nav">导航</div>
      <!-- 搜索 -->
      <div class="search">search</div>
      <!-- 用户 -->
      <div class="user">用户</div>
    </div>
   </div>
</body>
</html>

index.css

html 复制代码
/* 首页样式 */
/* 版心 */
.wrapper {
  margin: 0 auto;
  width: 1200px;
}

body {
  background-color: #f3f5f7;
}

/* 头部区域 */
.header {
  height: 100px;
  background-color: #fff;
}

.header .wrapper {
  padding-top: 29px;
  display: flex;
  align-items: center;
}

index.html

html 复制代码
<body>
  <!-- 头部区域 -->
   <div class="header">
    <div class="wrapper">
      <!-- logo -->
      <div class="logo">
        <h1><a href="#">学成在线</a></h1>
      </div>
      <!-- 导航 -->
      <div class="nav">导航</div>
      <!-- 搜索 -->
      <div class="search">search</div>
      <!-- 用户 -->
      <div class="user">用户</div>
    </div>
   </div>
</body>
html 复制代码
/* logo */
.logo a {
  /* a 为 inline 故宽高不生效 */
  display: block;
  width: 195px;
  height: 41px;
  background-image: url(../images/logo.png);
  /* 隐藏文字 */
  font-size: 0;
}
6.导航制作技巧(nav)
html 复制代码
<body>
  <!-- 头部区域 -->
   <div class="header">
    <div class="wrapper">
      <!-- logo -->
      <div class="logo">
        <h1><a href="#">学成在线</a></h1>
      </div>
      <!-- 导航 -->
      <div class="nav">
        <ul>
          <li><a href="#" class="active">首页</a></li>
          <li><a href="#">课程</a></li>
          <li><a href="#">职业规划</a></li>
        </ul>
      </div>
      <!-- 搜索 -->
      <div class="search">search</div>
      <!-- 用户 -->
      <div class="user">用户</div>
    </div>
   </div>
</body>
html 复制代码
/* 导航 */
.header .nav {
  margin-left: 102px;
}

.header .nav ul {
  display: flex;
}

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

.header .nav ul li a {
  display: block;
  padding: 6px 8px;
  line-height: 27px;
  font-size: 19px;
}

/* active 类选择器,表示默认选中的a  */
.header .nav li .active,
.header .nav li a:hover {
  border-bottom: 2px solid #00a4ff;
}
7.搜索区域(search)
html 复制代码
<body>
  <!-- 头部区域 -->
   <div class="header">
    <div class="wrapper">
      <!-- logo -->
      <div class="logo">
        <h1><a href="#">学成在线</a></h1>
      </div>
      <!-- 导航 -->
      <div class="nav">
        <ul>
          <li><a href="#" class="active">首页</a></li>
          <li><a href="#">课程</a></li>
          <li><a href="#">职业规划</a></li>
        </ul>
      </div>
      <!-- 搜索 -->
      <div class="search">
        <input type="text" placeholder="请输入关键词">
        <a href="#"></a>
      </div>
      <!-- 用户 -->
      <div class="user">用户</div>
    </div>
   </div>
</body>
html 复制代码
/* 搜索 */
.search {
  display: flex;

  margin-left: 64px;
  padding-left: 19px;
  padding-right: 12px;
  width: 412px;
  height: 40px;
  background-color: #f3f5f7;
  border-radius: 20px;
}

.search input {
  flex: 1;
  border: 0;
  background-color: transparent;
  /* 去除焦点框 */
  outline: none;
}

.search input::placeholder {
  font-size: 14px;
  color: #999;
}
/* 父级是 flex 布局,子级变弹性盒子:加宽高生效 */
.search a {
  display: block;
  width: 16px;
  height: 16px;
  background-image: url(../images/search.png);
  align-self: center;
}
8.用户区域(user)
html 复制代码
<body>
  <!-- 头部区域 -->
   <div class="header">
    <div class="wrapper">
      <!-- logo -->
      <div class="logo">
        <h1><a href="#">学成在线</a></h1>
      </div>
      <!-- 导航 -->
      <div class="nav">
        <ul>
          <li><a href="#" class="active">首页</a></li>
          <li><a href="#">课程</a></li>
          <li><a href="#">职业规划</a></li>
        </ul>
      </div>
      <!-- 搜索 -->
      <div class="search">
        <input type="text" placeholder="请输入关键词">
        <a href="#"></a>
      </div>
      <!-- 用户 -->
      <div class="user">
        <a href="#">
          <img src="uploads/user.png" alt="">
          <span>播仔学前端</span>
        </a>
      </div>
    </div>
   </div>
</body>
html 复制代码
/* 用户 */
.user {
  margin-left: 32px;
  margin-top: 4px;
}

.user img {
  margin-right: 7px;
  /* vertical-align 行内快和行内垂直方向对齐方式 */
  vertical-align: middle;
}

.user span {
  font-size: 16px;
  color: #666;
}
9.banner区域
html 复制代码
   <!-- banner 区域 -->
  <div class="banner">
    <div class="wrapper">
      <div class="left">left</div>
      <div class="right">right</div>
    </div>
  </div>
html 复制代码
/* banner 区域 */
.banner {
  height: 420px;
  background-color: #0092cb;
}

.banner .wrapper {
  display: flex;
  justify-content: space-between;
  height: 420px;
  background-image: url(../uploads/banner.png);
}
10.banner左侧导航栏(left)
html 复制代码
 <!-- banner 区域 -->
  <div class="banner">
    <div class="wrapper">
      <div class="left">
        <ul>
          <li><a href="#">前端开发</a></li>
          <li><a href="#">前端开发</a></li>
          <li><a href="#">前端开发</a></li>
          <li><a href="#">前端开发</a></li>
          <li><a href="#">前端开发</a></li>
          <li><a href="#">前端开发</a></li>
          <li><a href="#">前端开发</a></li>
          <li><a href="#">前端开发</a></li>
          <li><a href="#">前端开发</a></li>
        </ul>
      </div>
      <div class="right">right</div>
    </div>
  </div>
html 复制代码
/* 侧导航 */
.banner .left {
  padding: 3px 20px;
  width: 191px;
  height: 420px;
  background-color: rgba(0, 0, 0, 0.42);
}

.banner .left a {
  display: block;
  height: 46px;
  background-image: url(../images/right.png);
  background-repeat: no-repeat;
  background-position: right;
  line-height: 46px;
  font-size: 16px;
  color: #fff;
}

.banner .left a:hover {
  background-image: url(../images/right-hover.png);
  background-repeat: no-repeat;
  background-position: right;
  color: #00a4ff;
}

11.右侧课程表(right)

html 复制代码
<!-- banner 区域 -->
  <div class="banner">
    <div class="wrapper">
      <div class="left">
        <ul>
          <li><a href="#">前端开发</a></li>
          <li><a href="#">前端开发</a></li>
          <li><a href="#">前端开发</a></li>
          <li><a href="#">前端开发</a></li>
          <li><a href="#">前端开发</a></li>
          <li><a href="#">前端开发</a></li>
          <li><a href="#">前端开发</a></li>
          <li><a href="#">前端开发</a></li>
          <li><a href="#">前端开发</a></li>
        </ul>
      </div>
      <div class="right">
        <h3>我的课程表</h3>
        <div class="content">1</div>
      </div>
    </div>
  </div>
html 复制代码
/* 课程表 */
.banner .right {
  margin-top: 60px;
  width: 218px;
  height: 308px;
  background-color: #209dd5;
  border-radius: 10px;
}

.banner .right h3 {
  margin-left: 14px;
  height: 48px;
  line-height: 48px;
  font-size: 15px;
  color: #fff;
  font-weight: 400;
}

.banner .right .content {
  padding: 14px;
  height: 257px;
  background-color: #fff;
  border-radius: 10px;
}
html 复制代码
   <!-- banner 区域 -->
  <div class="banner">
    <div class="wrapper">
      <div class="left">
        <ul>
          <li><a href="#">前端开发</a></li>
          <li><a href="#">前端开发</a></li>
          <li><a href="#">前端开发</a></li>
          <li><a href="#">前端开发</a></li>
          <li><a href="#">前端开发</a></li>
          <li><a href="#">前端开发</a></li>
          <li><a href="#">前端开发</a></li>
          <li><a href="#">前端开发</a></li>
          <li><a href="#">前端开发</a></li>
        </ul>
      </div>
      <div class="right">
        <h3>我的课程表</h3>
        <div class="content">
          <dl>
            <dt>数据可视化课程</dt>
            <dd><span>正在学习</span>-<strong>echarts使用步骤</strong> </dd>
          </dl>
          <dl>
            <dt>数据可视化课程</dt>
            <dd><span>正在学习</span>-<strong>echarts使用步骤</strong> </dd>
          </dl>
          <dl>
            <dt>数据可视化课程</dt>
            <dd><span>正在学习</span>-<strong>echarts使用步骤</strong> </dd>
          </dl>
        </div>
      </div>
    </div>
  </div>
html 复制代码
/* 课程表 */
.banner .right {
  margin-top: 60px;
  width: 218px;
  height: 308px;
  background-color: #209dd5;
  border-radius: 10px;
}

.banner .right h3 {
  margin-left: 14px;
  height: 48px;
  line-height: 48px;
  font-size: 15px;
  color: #fff;
  font-weight: 400;
}

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

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

.banner .right .content dt {
  margin-bottom: 8px;
  font-size: 14px;
  line-height: 20px;
  font-weight: 700;
}

.banner .right .content dd {
  margin-bottom: 8px;
  font-size: 12px;
  line-height: 16px;
}

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

.banner .right .content dd strong {
  color:#7d7d7d;
  font-weight: 400;
}
82.定位
83.相对定位
html 复制代码
div {
    position:relative;
    top: 100px
}

实现图片压在文字上面,原来位置下移100px,不脱标,占位。

html 复制代码
div {
    position:relative;
    top:100px;
    left:200px;
}

标签显示模式特点 不变

相关推荐
彪8254 分钟前
第十章 JavaScript的应用 习题
javascript·css·ecmascript·html5
风尚云网8 小时前
风尚云网前端学习:一个简易前端新手友好的HTML5页面布局与样式设计
前端·css·学习·html·html5·风尚云网
酷酷的威朗普11 小时前
医院绩效考核系统
javascript·css·vue.js·typescript·node.js·echarts·html5
xcLeigh1 天前
HTML5超酷响应式视频背景动画特效(六种风格,附源码)
前端·音视频·html5
ZhaiMou2 天前
HTML5拖拽API学习 托拽排序和可托拽课程表
前端·javascript·学习·html5
懒羊羊我小弟3 天前
CSS回顾-CSS选择器详解
前端·css·html·css3·html5
逸曦穆泽3 天前
html5 实现视频播放
前端·音视频·html5
xcLeigh3 天前
HTML5实现剪刀石头布小游戏(附源码)
前端·html·html5
Java Fans3 天前
从零开始打造个人博客:我的网页设计之旅
css·html5
贩卖纯净水.4 天前
HTML5和CSS3新增特性
前端·css3·html5