HTML完结《一篇文章入门编程系列之从零基础入门HTML+CSS前端开发》12.24

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(QQ_3336392096.jpg)]

一篇文章让你从HTML零基础入门前端开发

前言:

此文为玄子,复习ACCP-S1课程后,整理的文章,文中对知识点的解释仅为个人理解,源码均可直接复制运行

配套PPT,站点源码,等学习资料请加文章封面联系方式

一、了解 HTML5

1.1 HTML 简介

超文本标记语言(英语:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言

您可以使用 HTML 来建立自己的 WEB 站点,HTML 运行在浏览器上,由浏览器来解析


1.2 HTML 发展史

1.2.1 HTML1.0

超文本标记语言(第一版)在1993年6月作为互联网工程工作小组(IETF)工作草案发布(并非标准)

1.2.2 HTML 2.0

1995年11月作为RFC 1866发布,在RFC 2854于2000年6月发布之后被宣布已经过时

1.2.3 HTML 3.2

1997年1月14日,W3C推荐标准

1.2.4 HTML 4.0

1997年12月18日,W3C推荐标准

1.2.5 HTML 5.0

2014年10月29日,万维网联盟宣布,经过接近8年的艰苦努力,该标准规范终于制定完成


1.3 HTML5 的优势

  • 解决了跨浏览器问题

  • 化繁为简

    • 简化的DOCTYPE

    • 强大的HTML5 API

    • 以浏览器原生能力替代复杂的JavaScript代码

  • 跨平台

    • 支持多种类型设备的跨平台适用性,减少了开发人员的工作量
  • 功能强大,新增特性

    • 支持本地存储、离线缓存、地理位置等

    • 新增实用标签

    • 支持绘制图形

    • 支持播放视频和音频


1.4 W3C 标准

  • W3C

    • World Wide Web Consortium(万维网联盟)

    • 成立于1994年,Web技术领域最权威和具影响力的国际中立性技术标准机构

    • W3C官网

    • W3C中文官网

  • W3C标准包括

    • 结构化标准语言(XHTML 、XML)

    • 表现标准语言(CSS)

    • 行为标准(DOM、ECMAScript )


1.5 常见 HTML 编辑器

  • 记事本
  • Dreamweaver
  • WebStorm
    • WebStorm 是 Jetbrains (捷克)公司旗下一款 JavaScript 开发工具。被广大中国 JS 开发者誉为“Web前端开发神器”
  • VSCode

1.6 安装 WebStorm

WebStorm 是最专业的的前端开发工具,但是由于版权原因这里不过多介绍

WebStorm 官网

详细安装教程请加文章封面联系方式


二、HTML 基础

2.1 网页基本标签

DOCTYPE html>

<html lang="en">
<head>
    
    <meta charset="UTF-8">
    
    <title>网页基本标签title>
    
head>
<body>

Change The Word!
body>
html>

2.1.1 基本标签语义

标签 语义 说明
文档类型声明 告诉浏览器使用规范为HTMl
网页标签 标签位于HTML文档的最前面,用于标识HTML文档的开始和结尾
头部标签 用于定义HTML文档的头部,描述文档属性,包含一些辅助标签例如、<link>、<script></code></td> </tr> <tr> <td align="left"><code><title> 网页标题 用来定义网页的标题名称
描述性标签 一般用来做SEO
主体标题 用于定义HTML文档的主体内容

2.1.2 标签关系

  1. 包含关系
<head>
    <title>title>
head>
  1. 并列关系
<head>
head>
<body> 
body>

HTML文档中的标签通常是成对出现,以<>开始,结束,也有部分标签不是成对出现,如
等等


2.2 基础标签

DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>基础标签title>
head>
<body>
<h1>一级标题h1>
<h2>二级标题h2>
<h3>三级标题h3>
<h4>四级标题h4>
<h5>五级标题h5>
<h6>六级标题h6>

<hr>

<p>山园小梅·其一
    [ 宋 ] 林逋
    众芳摇落独暄妍,占尽风情向小园。

    疏影横斜水清浅,暗香浮动月黄昏。

    霜禽欲下先偷眼,粉蝶如知合断魂。

    幸有微吟可相狎,不须檀板共金尊。p>

<hr>
<p>山园小梅·其一 <br>
    [ 宋 ] 林逋<br>
    众芳摇落独暄妍,占尽风情向小园。<br>

    疏影横斜水清浅,暗香浮动月黄昏。<br>

    霜禽欲下先偷眼,粉蝶如知合断魂。<br>

    幸有微吟可相狎,不须檀板共金尊。p>

<hr>
<p>山园小梅·其一p>
<p> [ 宋 ] 林逋p>
<p> 众芳摇落独暄妍,占尽风情向小园。p>

<p> 疏影横斜水清浅,暗香浮动月黄昏。p>

<p> 霜禽欲下先偷眼,粉蝶如知合断魂。p>

<p> 幸有微吟可相狎,不须檀板共金尊。p>
<hr>
<strong>粗体strong>

<br>
<em>斜体em>

<br>
<strong><em>加粗斜体em>strong>

<hr>
<p>空 格p>
<p>            p>

<p>大于号:> >p>
<p>小于号:< <p>
<p>分号:"" ""p>
<p>版权符号:©p>

body>
html>

2.2.1 标题标签

为了使网页更具有语义化,我们经常会在页面中用到标题标签。HTML 提供了 6 个等级的网页标题,即:

<h1>一级标题h1>
<h2>二级标题h2>
<h3>三级标题h3>
<h4>四级标题h4>
<h5>五级标题h5>
<h6>六级标题h6>

单词 head 的缩写,意为:头部、标题

一个标签独占一行

标签语义:作为标题使用,并且依据重要性递减

2.2.2 段落标签

在网页中,要把文字有条理地显示出来,就需要将这些文字分段显示,在 HTML 标签中,

标签用于定义段落,它可以将整个网页分为若干个段落

<p>我是一个段落标签p>

单词 paragraph 的缩写,意为:段落

文本在一个段落中会根据浏览器窗口的大小自动换行

段落和段落之间保有空隙

标签语义:可以把 HTML 文档分割为若干段落

2.2.3 换行标签

在 HTML 中,一个段落中的文字会从左到右依次排列,直到浏览器窗口的右端,然后才自动换行。如果希望某段文本强制换行显示,就需要使用换行标签

<br>

单词 break 的缩写,意为:打断、换行


是个单标签


标签只是简单地开始新的一行,跟段落不一样,所以不会产生段间距

标签语义:强制换行

2.2.4 分割线标签

<hr>

2.2.5 文本格式化标签

在网页中,有时需要为文字设置粗体、斜体或下划线等效果,这时就需要用到 HTML 中的文本格式化标签,使文字以特殊的方式显示

<strong>粗体strong>

<br>
<em>斜体em>

<br>
<strong><em>加粗斜体em>strong>

标签语义:突出重要性,比普通文字更重要

标签 语义 说明
加粗
倾斜
删除线
下划线

2.2.6 注释

如果需要在 HTML 文档中添加一些便于阅读和理解但又不需要显示在页面中的文字,就需要使用注释标签

HTML 中的注释以: 结尾


注释标签里面的内容是给程序员看的,这个代码是不执行不显示到页面中的

2.2.7 特殊字符

在 HTML 页面中,一些特殊的符号很难或者不方便直接使用,此时我们就可以使用下面的字符来替代

特殊字符 描述 字符的代码
空格符  
< 小于号 <
> 大于号 >
& 和号 &
± 正负号 ±
× 乘号 ×
÷ 除号 ÷
© 版权符号 ©
² 上标
下标

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XnOgQt41-1671889287898)(./assets/2.2.7.png)]


2.3 图像标签

DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>图像标签title>
head>
<body>
<img alt="替换文本" height="500px" src="../../resources/image/玄子头像.png" title="标题" width="500px">
<img alt="替换文本" height="500" src="../resources/玄子头像.png" title="标题" width="500">

body>
html>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H7fni55r-1671889287899)(./assets/2.3.png)]

2.3.1 图像标签属性

在 HTML 标签中, 标签用于定义 HTML 页面中的图像

<img alt="替换文本" height="图像尺寸" src="图像URL" title="标题" width="500px">

单词 image 的缩写,意为图像

属性名 属性值 说明
src 图片路径 必须属性
alt 文本 替换文本,图片无法显示时的替换文字
title 文本 提示文本,鼠标悬浮到图像时显示文字
width 尺寸 设置图像的宽度
height 尺寸 设置图像的高度
border 尺寸 设置图像的边框粗细
  • 图像标签可以同时拥有多个属性(其它标签同理)
  • 属性之间不分先后顺序,标签名与属性、属性与属性之间均以空格分开(其它标签同理)
  • 属性均采取键值对的格式,即:key="value" 格式,属性="属性值"
  • 设置图像的宽度与高度时:一般设置其中之一便可,另外一个会自动按比例适配
  • 设置宽高时,可以使用百分数作为值,此时图片大小会以当前父元素的大小为基础进行比例缩放,这样做的好处在于当父元素改变大小时,图片也会随比例同等缩放

2.3.2 相对路径

以引用文件所在位置为参考基础,而建立出目录路径

相对路径分类 符号 说明
同一级路径 .
下一级路径 /
上一级路径 ../

2.3.3 绝对路径

指目录下的绝对位置,直接到达目的位置,通常是从盘符开始的路径

Windows 系统的绝对路径:F:\html\img\logo.png

网络地址:https://www.qijishow.com/

  • 相对路径为 /(正斜杆),绝对路径为 \(反斜杆)
  • 实际开发中建议使用相对路径或网络地址(都是 / 正斜杆)

2.4 超链接标签

DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>超链接标签title>
head>
<body>
<a href="" name="xz">顶部a>
<br>
<a href="03_图像标签.html" target="_blank" title="标题">点击在新窗口打开03a>
<br>
<a href="03_图像标签.html" target="_self" title="标题">点击在本窗口打开03a>

<hr>
<a href="03_图像标签.html" target="_blank" title="标题"><img alt="替换文本" height="500px"
                                                             src="../../resources/image/玄子头像.png" title="标题"
                                                             width="500px">a>
<br>
<a href="03_图像标签.html" target="_blank" title="标题"><img alt="替换文本" height="500px"
                                                             src="../../resources/image/玄子头像.png" title="标题"
                                                             width="500px">a>
<br>
<a href="03_图像标签.html" target="_blank" title="标题"><img alt="替换文本" height="500px"
                                                             src="../../resources/image/玄子头像.png" title="标题"
                                                             width="500px">a>

<br>
<hr>
<a href="#xz">点击跳转到顶部a>

<br>
<a href="mailto:[email protected]">点击邮箱联系a>

body>
html>

2.4.1 超链接标签属性

在 HTML 标签中, 标签用于定义超链接,作用是从一个页面链接到另一个页面

<a href="跳转目标" target="新窗口跳转方式">内容a>

单词 anchor 的缩写,意为:锚

属性 作用
href 用于指定链接目标的 URL 地址(必须属性)
当标签应用 href 属性时,它就具有了超链接的功能
target 用于指定链接页面的打开方式
_blank:新页面打开链接
_self:此页面打开链接(默认值)

2.4.2 链接分类

  • **外部链接:**例如:奇迹秀
  • **内部链接:**网站内部页面之间相互链接,直接链接内部页面名称即可,例如: 首页
  • **空链接:**如果当时没有确定链接目标时写, 首页",当用户点击链接时,网页不会任何效果
  • **下载链接:**如果 href 里面地址是一个文件或者压缩包(前提:路径包含文件类型后缀名,如:.exe.zip 等),便会下载这个文件
  • **网页元素链接:**在网页中的各种网页元素,如:文本、图像、表格、音频、视频等都可以添加超链接
  • **锚点链接:**点击链接,可以快速定位到某页面中的某个位置
    1. 需要一个标记点和跳转点
    2. 标记点声明:name 属性并赋值 顶部
    3. 跳转点:href 属性 跳转 name 声明的标记点,name 值前面要加上 # 点击跳转到顶部
  • **功能链接:**可以调用一些功能性的操作 点击邮箱联系直接打开本地默认邮箱软件

2.5 行内元素&块元素

DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>行内元素&块元素title>
head>
<body>

<a href="#">a标签a>
<a href="#">a标签a>
<img alt="" height="20px" src="../../resources/image/玄子头像.png" width="20px">
<img alt="" height="20px" src="../../resources/image/玄子头像.png" width="20px">

<hr>

<h3>标题标签h3>
<h4>标题标签h4>
<p>p标签p>
<p>p标签p>
body>
html>
  • 块元素

    • 无论内容多少,该元素独占一行

      -

  • 行内元素

    • 内容撑开宽度,左右都是行内元素的可以排在一行

2.6 列表标签

DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>列表标签title>
head>
<body>


<ol>
    <li>JAVAli>
    <li>HTMLli>
    <li>CSSli>
    <li>SQLli>
ol>
<hr>


<ul>
    <li>JAVAli>
    <li>HTMLli>
    <li>CSSli>
    <li>SQLli>
ul>
<hr>


<dl>
    <dt>开发dt>
    <dd>JAVAdd>
    <dd>HTMLdd>
    <dd>CSSdd>
    <dd>SQLdd>
dl>
body>
html>

列表最大的特点就是:整齐、整洁、有序、它作为布局会更加自由和方便。在实际开发中凡是遇到排列整齐的简洁内容,都可以使用列表来进行布局

2.6.1 使用场景

标签名 定义 使用场景
无序标签 常用于显示网站导航、树形菜单、侧边栏新闻列表等内容
有序标签 常用于显示带有顺序编号的内容
自定义标签 常用于显示带有标题和标题解释性的内容

2.6.2 无序列表

    标签表示 HTML 页面中项目的无序列表,一般会以项目符号呈现列表项,而列表项使用
  • 标签定义(开发中经常使用)

    <ul>
        <li>JAVAli>
        <li>HTMLli>
        <li>CSSli>
        <li>SQLli>
    ul>
    
    • 无序列表的各个列表项之间没有顺序级别之分,是并列的
      中只能嵌套
    • ,直接在
      标签中输入其他标签或者文字的做法是不被允许的,列表中的任何内容都应该放在 li
    • 之间相当于一个容器,可以容纳所有的元素
    • 无序列表会带有自己的样式属性(比如圆点),但在实际开发中,我们会使用 CSS 来设置

    附:去除 li 前符号的方法:style="list-style: none;"

    2.6.3 有序列表

    有序列表即为有序排列顺序的列表,其各个列表项会按照一定的顺序排列定义(开发中不太常用)

    在 HTML 标签中,

      标签用于定义有序列表,列表排序以数字来显示,并且使用
    1. 标签来定义列表项。

      <ol>
          <li>JAVAli>
          <li>HTMLli>
          <li>CSSli>
          <li>SQLli>
      ol>
      
        中只能嵌套
      • ,直接在
        标签中输入其他标签或者文字的做法是不被允许的
      • 之间相当于一个容器,可以容纳所有的元素
      • 有序列表会带有自己样式属性(比如序号),但在实际使用时,我们会使用 CSS 来设置

      附:去除 li 前符号的方法:style="list-style: none;"

      2.6.4 自定义列表

      自定义列表常用于对术语或名词进行解释、描述和展开,定义列表的列表项前没有任何项目符号(开发中常用)

      在 HTML 标签中,

      标签用于定义描述列表(或定义列表),该标签会与
      (定义项目/名字)和
      (描述每一个项目/名字)一起使用

      <dl>
          <dt>开发dt>
          <dd>JAVAdd>
          <dd>HTMLdd>
          <dd>CSSdd>
          <dd>SQLdd>
      dl>
      
      • 里面只包含
      • 个数没有限制,经常是一个
        对应多个

      2.7 表格标签

      DOCTYPE html>
      <html lang="en">
      <head>
          <meta charset="UTF-8">
          <title>表格标签title>
      head>
      <body>
      <table border="1px">
          
          <tr>
              <td>1-1td>
              <td>1-2td>
              <td>1-3td>
          tr>
          <tr>
              <td>2-1td>
              <td>2-2td>
              <td>2-3td>
          tr>
          <tr>
              <td>3-1td>
              <td>3-2td>
              <td>3-3td>
          tr>
      table>
      
      <hr>
      <table border="1px">
          <tr>
              <td colspan="3">学生成绩td>
              
          tr>
          <tr>
              <td rowspan="2">玄子td>
              
              <td>JAVAtd>
              <td>100td>
          tr>
          <tr>
              <td>HTMLtd>
              <td>99td>
      
          tr>
          <tr>
              <td rowspan="2">玉玉诏td>
              
              <td>JAVAtd>
              <td>90td>
          tr>
          <tr>
      
              <td>HTMLtd>
              <td>80td>
          tr>
      table>
      body>
      html>
      

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Gdwo8HTz-1671889287899)(./assets/image-20220121161018164.png)]

      2.7.1 表格的主要作用

      • 为什么使用表格

        • 简单通用

        • 结构稳定

      • 基本结构

        • 单元格

      表格不是用来布局页面的,而是用来展示数据的。表格常用于表单数据的 “布局”

      2.7.2 表格的基本语法

      <table>
          <tr>
              <td>单元格td>
          tr>
      table>
      
      • 是用于定义表格的标签
      • 用于定义表格中的行,必须嵌套在
        标签中
      • 用于定义表格中的单元格,必须嵌套在 标签中
      • 字母 td 指表格数据table data
      • 即数据单元格的内容
      • 单元格 td 里面可以放任何的元素

      2.7.3 表头单元格标签

      一般表头单元格位于表格的第一行或第一列,作用是:突出重要性,表头单元格里面的文本内容默认加粗居中显示

      标签表示 HTML 表格的表头部分table head的缩写

      <table>
          <tr>
          	<th>姓名th>
              <th>性别th>
              <th>年龄th>
          tr>
      table>
      

      2.7.4 表格属性

      <table align="center" border="1" cellpadding="0" cellspacing="0" width="500" height="240">
      table>
      
      属性名 属性值 描述
      align leftcenterright 规定表格相对周围元素的对齐方式默认left
      border 1"" 规定表格单元是否拥有边框,默认为"",表示没有边框
      cellpadding 像素值 规定单元边沿与其内容之间的空白,默认1像素
      cellspacing 像素值 规定单元格之间的空白,默认2像素
      width 像素值 或 百分比 规定表格的宽度
      height 像素值 或 百分比 规定表格的高度

      2.7.5 表格结构标签

      使用场景:因为表格可能很长,为了更好的表示表格的语义,可以将表格分割成:表格头部表格主体两大部分

      在表格标签中,分别用: 标签表示表格的头部区域, 标签表示表格的主体区域,这样可以更好的分清表格结构

      • :用于定义表格的头部, 内部必须拥有 标签,一般是位于第一行,且一般 标签中推荐放置 标签
      • :用于定义表格的主体,主要用于放数据本体
      • 以上标签都是放在
        标签中
      <table>
      
      <thead>
          <tr>
              <th>姓名th>
              <th>性别th>
              <th>年龄th>
          tr>
      thead>
      
      <tbody>
          <tr>
              <td>玄子td>
              <td>td>
              <td>16td>
          tr>
      tbody>
      table>
      

      2.7.6 合并单元格

      特殊情况下,可以把多个单元格合并为一个单元格,这里会最简单的合并单元格即可。

      合并单元格的方式:

      • 跨行合并(上下合并):rowspan="合并单元格的个数"
      • 跨列合并(左右合并):colspan="合并单元格的个数"

      合并单元格三步曲:

      • 先确定是跨行还是跨列合并
      • 找到目标单元格,写上 合并方式=合并的单元格数量,比如:
      • 删除多余单元格
      doctype html>
      <html lang="en">
      
      <head>
          <meta charset="UTF-8">
          <title>合并单元格title>
      head>
      
      <body>
          <table width="500" height="249" border="1" cellspacing="0">
              <tr>
                  <td>td>
                  <td colspan="2">td>
              tr>
              <tr>
                  <td rowspan="2">td>
                  <td>td>
                  <td>td>
              tr>
              <tr>
                  <td>td>
                  <td>td>
              tr>
          table>
      body>
      html>
      

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kZnfxILl-1671889287900)(./assets/2.7.6.png)]

      2.7.7 综合案例

      doctype html>
      <html lang="en">
      
      <head>
          <meta charset="UTF-8">
          <title>综合案例title>
      head>
      
      <body>
          <table width="400px" height="200px" align="center" border="1" cellpadding="10" cellspacing="5">
              <thead>
                  <tr>
                      <th>oneth>
                      <th>twoth>
                      <th>threeth>
                      <th>fourth>
                  tr>
              thead>
      
              <tbody>
                  <tr>
                      <td rowspan="3">1td>
                      <td colspan="3">234td>
                  tr>
                  <tr>
                      <td>2td>
                      <td>3td>
                      <td>4td>
                  tr>
                  <tr>
                      <td>2td>
                      <td>3td>
                      <td>4td>
                  tr>
              tbody>
          table>
      body>
      html>
      

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7O4uoTfR-1671889287900)(./assets/2.7.7.png)]


      2.8 音视频标签

      DOCTYPE html>
      <html lang="en">
      <head>
          <meta charset="UTF-8">
          <title>音视频标签title>
      head>
      <body>
      
      <video autoplay controls src="../../resources/video/G.E.M.邓紫棋-GLORIA.mp4">video>
      
      <audio autoplay controls src="../../resources/audio/G.E.M.邓紫棋-天空没有极限.flac">audio>
      
      body>
      html>
      

      2.8.1 视频标签

      <video src="视频路径" controls="controls">video>
      
      属性名 属性值 描述
      width 像素 设置视频播放器的宽度
      height 像素 设置视频播放器的高度
      src URL 要播放的视频的 URL
      controls controls 显示控件:播放/暂停、进度条、时间、音量以及全屏等常用控件
      autoplay autoplay 视频就绪后马上播放
      loop loop 循环播放
      <video src="video/video.mp4" controls="controls" >
      	你的浏览器不支持video标签
      video>
      

      浏览器不支持标签时,将会显示标签中间的文字

      2.8.2 音频标签

      <audio src="音频路径" controls="controls">audio>
      
      属性名 属性值 描述
      src URL 要播放的音频的 URL
      controls controls 显示控件:播放/暂停、音量等常用控件
      autoplay autoplay 音频就绪后马上播放
      loop loop 循环播放
      <audio src="music/music.mp3" controls>你的浏览器不支持audio标签audio>
      

      浏览器不支持标签时,将会显示标签中间的文字

      2.8.3 引入多条媒体源

      标签用于引入多个不同格式的媒体

      <audio controls loop>
      	<source src="music/music.mp3"type="audio/mpeg"/>
      	<source src="music/music.ogg" type="audio/ogg"/>
      	你的浏览器不支持audio标签
      audio>
      

      2.9 网页结构分类

      DOCTYPE html>
      <html lang="en">
      <head>
          <meta charset="UTF-8">
          <title>网页结构分类title>
      head>
      <body>
      <header>
          <h1>网页头部h1>
      header>
      <section>
          <h1>网页主体h1>
      section>
      <footer>
          <h1>网页底部h1>
      footer>
      
      body>
      html>
      
      标签名 说明
      header 标题头部区域的内容(用于页面或页面中的一块区域)
      footer 标记脚部区域的内容(用于整个页面或页面的一块区域)
      section Web页面中的一块独立区域
      article 独立的文章内容
      aside 相关内容或应用(常用于侧边栏)
      nav 导航类辅助内容

      2.10 内联框架标签

      DOCTYPE html>
      <html lang="en">
      <head>
          <meta charset="UTF-8">
          <title>内联标签title>
      head>
      <body>
      <iframe frameborder="1" height="500px" name="xz" src="01_网页基本标签.html" width="500px">iframe>
      
      <br>
      <a href="02_基础标签.html" target="xz">点击跳转02a>
      
      <br>
      <a href="03_图像标签.html" target="xz">点击跳转03a>
      body>
      html>