HTML

开发工具

最常用的开发工具是 VS Code,只需新建文件并将其保存为以 .html 结尾即可。

VS Code 常用插件

VS Code 之所以被称为宇宙第一神器,其所拥有的丰富插件功不可没,这些插件功能强大,安装起来也很简单,给我们的开发带来了极大便捷。

以下是一些常用插件:

  • Chinese (Simplified) Language Pack – 汉化
  • Auto Rename Tag – 修改开始标签,结束标签会跟着自动变化
  • One Dark Pro – 颜色主题
  • 格式化代码(vscode 软件自带) – 格式化代码的插件非常多,比如 Prettier 等,但其实 vscode 自带的也很不错;管理 -> 设置 -> 文本编辑器 -> 正在格式化 -> 勾选 Format On PasteFormat On Save
  • open in browser – 浏览器预览页面(好用,但是改完代码浏览器需重新刷新才能预览效果)
  • Live Server – 实时预览(推荐,改完代码浏览器自动刷新预览效果)
  • vscode-icons – 设置文件图标主题,可以很清楚的看到文件类型对应的图标
  • Easy LESS – 编译 less 文件(less 文件不能直接引入到 html 文件中,通过这个插件可以自动帮我们生成 css 文件)
  • 会了吧 – 学习单词插件(可以帮助翻译单词,可以使用)

VS Code 常用快捷键

  • Shift+Alt+下箭头(上箭头) – 快速复制粘贴一行
  • Ctrl+D – 选定多个相同的单词(先双击选定一个单词,然后按下快捷键即可从上往下依次选定相同的单词)
  • Ctrl+Alt+下箭头(上箭头) – 添加多个光标
  • Ctrl+H – 全局替换,可以将某单词全部替换为另一个单词
  • Ctrl+G – 快速定位到某一行(当页面较长,上下滚动页面不方便时,就可利用该快捷键快速定位到指定行)
  • Shift+Alt+拖动鼠标 – 选择某个区块进行操作
  • Ctrl+‘+’/Ctrl+‘-’ – 放大/缩小编辑器界面
  • 自定义快捷键 – 管理 -> 键盘快捷方式 -> 输入要更改的快捷键,然后找到它进行编辑

VS Code 工具生成骨架标签新增代码

  • <!DOCTYPE> 标签:文档类型声明,作用就是告诉浏览器使用哪种 HTML 版本来显示网页
    <!DOCTYPE html> 就是告诉浏览器使用 HTML5 来显示网页
    <!DOCTYPE> 声明需位于文档最前面的位置,处于 <html> 标签之前
    <!DOCTYPE> 不是一个 HTML 标签,它就是文档类型声明标签
  • lang 语言:用来定义当前文档显示的语言,<html lang="en">
    “en” 定义语言为英语,“zh-CN” 定义语言为中文,简单来说就是英文网页和中文网页
    其实对于文档显示来说,英文网页可以显示中文,中文网页也能显示英文
    这个属性对浏览器和搜索引擎还是有作用的,比如提示作用(是否需要翻译成其他语言)
  • charset 字符集:字符集是多个字符的集合,便于计算机识别和存储各种文字
    <head> 标签内,可以通过 <meta> 标签的 charset 属性来规定 HTML 文档应该使用哪种字符编码,<meta charset="UTF-8">
    charset 常用的值有 GB2312、BIG5、GBK、UTF-8 等,其中 UTF-8 也被称为万国码,基本包含了全世界所有国家需要用到的字符
    这句语法是必须要写的,否则可能引起乱码的情况。一般情况下,统一使用 UTF-8 编码,尽量写成标准的 “UTF-8”,不要写成 “utf8” 或 “UTF8”

HTML 语法规范

语法规范

基本语法规范:

  • 所有的标签都要用 <> 括起来
  • 标签一般成对出现,如 <html></html>,我们称为双标签,其中 <html> 是开始标签,</html> 是结束标签
  • 有的标签不用成对出现,只需单个标签就行,如 <br />,我们称为单标签,但这样的标签很少,屈指可数

标签关系

双标签关系可以分为两类:包含关系和并列关系。

包含关系如下所示:

<head>
    <title></title>
</head>

并列关系如下所示:

<head></head>
<body></body>

HTML 基本结构标签

每个网页都会有一个基本的结构标签(也称为骨架标签),页面内容也是在这些基本标签上书写。HTML 页面也称为 HTML 文档。

<html>
    <head>
        <title>我的第一个页面</title>
    </head>
    <body>
        HTML 是世界上最好的标记语言,没有之一!
    </body>
</html>
标签名定义说明
<html></html>HTML 标签页面中最大的标签,我们称为根标签
<head></head>文档的头部在 head 标签中,我们必须要设置 title 标签
<title></title>文档的标题让页面拥有一个属于自己的网页标题
<body></body>文档的主体元素包含文档的所有内容,页面内容基本都是放到 body 里面的

HTML 文档的后缀名必须是 .html.htm,浏览器的作用是读取 HTML 文档,并以网页的形式显示它们。

HTML 常用标签

学习标签是有技巧的,重点是记住每个标签的语义。根据标签的语义,在合适的地方给一个最为合理的标签,可以让页面结构更加清晰。

标题标签

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

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

标题标签内的文字会更粗更大,一个标题独占一行。

段落标签

在网页中,要把文字有条理地显示出来,就需要将这些文字分段显示。在 HTML 标签中,使用 <p> 标签来定义段落,它可以将整个网页分成若干个段落。

<p>这是一个段落</p>

在网页中,无论使用多少个空格都只会显示一个空格,无论使用多少个回车进行换行,同样也只会显示为一个空格。因此,网页中的段落显示并不依靠回车换行,而是依赖 <p> 标签。

文本在一个段落中会根据浏览器窗口的大小自动换行,段落与段落之间会留有一定空隙。

换行标签

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

<br />  ---  作用是强制换行

<br /> 标签只是简单地开始新的一行,行与行之间的空隙不会发生变化。

文本格式化标签

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

语义标签说明
粗体<strong></strong><b></b>更推荐使用 <strong> 标签,语义更强烈
斜体<em></em><i></i>更推荐使用 <em> 标签,语义更强烈
删除线<del></del><s></s>更推荐使用 <del> 标签,语义更强烈
下划线<ins></ins><u></u>更推荐使用 <ins> 标签,语义更强烈

<div><span> 标签

<div><span> 标签是没有语义的,它们就是一个用来装内容的盒子。

<div>这是头部</div>
<span>今日价格</span>

<div> 标签用于页面布局,其特点是一行只能放一个 <div>,即独占一行,类似一个大盒子。

<span> 标签用于页面布局,其特点是一行可以放多个 <span>,类似一个小盒子。

图像标签

在 HTML 标签中,<img> 标签用于定义 HTML 页面中的图像,它是一个单标签。

<img src="image url">

src 是图像标签的必需属性,它用于指定图像文件的路径和文件名。

图像标签的属性属性值说明
src图片路径必需属性
alt文本替换文本。图像显示不出来时展示的文字
title文本提示文本。鼠标放到图像上时显示的文字
width像素设置图像的宽度
height像素设置图像的高度
border像素设置图像的边框粗细
<img src="img.png" alt="图片加载失败" title="这是一个帅哥" width="500" border="10">

当图片显示不出来时,会显示图片加载失败;
在图片能显示的情况下,当鼠标放到图片上时,会显示这是一个帅哥;
图片的宽度设置成了 500 像素,高度会等比例缩放,宽度和高度一般设置一个即可;
图片的边框粗细设置成了 10 个像素。

图像标签的属性注意点:

  • 图像标签可以有多个属性,但均须写在标签名 img 的后面
  • 属性之间不分先后顺序,标签名与属性、属性与属性之间均以空格分开
  • 属性采取键值对的格式,即 key=“value” 的格式

路径

页面中的图片会非常多,通常我们会新建一个文件夹来存放这些图像文件,这时再查找图像就需要采用“路径”的方式来指定图像文件的位置。

路径可分为绝对路径和相对路径,图像标签中最常使用相对路径。

相对路径就是从这个图像标签所在的 html 文件出发,去寻找目标图像文件。
绝对路径指的是目录下的绝对位置,通常从盘符开始。

假如有一个名为 img.jpg 的图像文件,与 .html 文件放在同一个目录下,那么在该 html 文档中引用这个图片时,就可以使用相对路径 <img src="img.jpg">

假如有一个名为 images 的文件夹,该文件夹内存放了 img.jpg 图像文件,images 文件夹与 .html 文件放在同一个目录下,那么在该 html 文档中引用这个图片时,就可以使用相对路径 <img src="images/img.jpg">

假如 img.jpg 图像文件放在了 .html 文件所在目录的父目录下,那么在该 html 文档中引用这个图片时,就可以使用相对路径 <img src="../img.jpg">

超链接标签

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

<a href="跳转目标" target="目标窗口的弹出方式"> 文本或图像 </a>

href:这是必需属性,用于指定链接目标的 URL 地址,当为标签应用该属性时,它就具有了超链接的功能
target:用于指定链接页面的打开方式,其中 _self 为默认值,也就是将本页面直接跳转为目标页面,_blank 为在新窗口中打开目标页面

链接分类:

  • 外部链接,可以跳转到某个网站首页,如 <a href="https://www.baidu.com">百度</a>
  • 内部链接,可以跳转到另一个 html 页面,如 <a href="第一个页面.html" target="_blank">第一个页面</a>
  • 空链接,暂时没想好链接到哪个页面,可以用 # 来表示空链接,如 <a href="#">公司简介</a>
  • 下载链接,如果 href 指向的地址是一个可下载文件或压缩包,则会下载这个文件,如 <a href="img.zip">下载文件</a>
  • 网页元素链接,在网页中的各种元素,如文本、图像、表格、音频、视频等都可以添加超链接,如 <a href="https://www.baidu.com"><img src="img.jpg"></a>,那么点击图像即可跳转到百度页面
  • 锚点链接,点击链接即可快速定位到页面中的某个位置
    • 在链接文本的 href 属性中,设置属性值为"#名字"的形式,如 <a href="#two">第2集</a>
    • 找到目标位置标签,在里面添加一个属性 id=“名字” ,如 <h3 id="two">第2集介绍</h3>

HTML 中的注释和特殊字符

注释

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

HTML 中的注释可以写成 <!-- 注释语句 -->,在 VS Code 中可以使用快捷键 Ctrl+/ 进行注释。

简单来说,注释语句是给开发人员看的,并不会显示到网页中。

特殊字符

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

特殊字符描述字符的代码
空格符&nbsp;
<大于号&lt;
>小于号&gt;
&和号&amp;
人民币&yen;
©版权&copy;
®注册商标&reg;
°&deg;
±正负号&plusmn;
×乘号&times;
÷除号&divide;
²平方&sup2;
³立方&sup3;

重点记住空格符、大于号、小于号,其他使用较少。

HTML 中的表格标签

表格在实际开发中是非常常用的标签。

表格的作用

表格主要用于显示、展示数据,因为它可以让数据显示的非常规整,可读性非常好,特别是后台展示数据的时候,能够熟练运用表格就显得很重要。

表格不是用来布局页面的,而是用来展示数据的。

表格的语法

表格的基本语法:

<table>
    <tr>
        <td>单元格内的文字</td>
        ...
    </tr>
    ...
</table>

<table></table> 标签用于定义表格;
<tr></tr> 标签用于定义表格中的行,必须嵌套在 <table></table> 标签中;
<td></td> 标签用于定义表格中的单元格,必须嵌套在 <tr></tr> 标签中

表头单元格标签

一般表头单元格位于表格的第一行或第一列,表头单元格里面的文本内容会自动加粗居中显示。

在 HTML 中,使用 <th> 标签来表示表格的表头部分。

表格标签

表格标签有关于表格的一些属性,但这些标签属性在实际开发中并不常用,因为会通过 CSS 来设置。

表格标签具有以下属性:

属性名属性值描述
alignleft、center、right规定表格相对周围元素的对齐方式
border1 或 “”规定表格单元是否拥有边框,默认为 “”,表示没有边框
cellpadding像素值规定单元边沿与其内容之间的空白,默认 1 像素
cellspacing像素值规定单元格之间的空白,默认 2 像素
width像素值或百分比规定表格的宽度
<table align="center" border="1" cellpadding="20" cellspacing="0" width="500">
    ...
</table>
<table align="center" border="1" cellpadding="10" cellspacing="2" width="700">     
    <tr>              
        <th>排名</th>              
    	<th>关键词</th>              
    	<th>趋势</th>              
    	<th>今日搜索</th>              
    	<th>最近七日</th>              
    	<th>相关链接</th>          
    </tr>          
    <tr>              
        <td>1</td>              
        <td>鬼吹灯</td>              
        <td>down</td>              
        <td>345</td>              
        <td>123</td>              
        <td><a href="#">贴吧</a> <a href="#">图片</a> <a href="#">百科</a></td>       
    </tr>          
    <tr>              
        <td>2</td>              
        <td>盗墓笔记</td>              
        <td>down</td>              
        <td>124</td>              
        <td>6754</td>              
        <td><a href="#">贴吧</a> <a href="#">图片</a> <a href="#">百科</a></td>       
    </tr>          
    <tr>              
        <td>3</td>              
        <td>东游记</td>              
        <td>up</td>              
        <td>23</td>              
        <td>7546</td>              
        <td><a href="#">贴吧</a> <a href="#">图片</a> <a href="#">百科</a></td>       
    </tr>      
</table>

在这里插入图片描述

表格结构标签

因为表格可能会很长,为了更好的表示表格的语义,可以将表格分割成表格头部和表格主体两大部分,在实际开发中常常这么做。

在表格标签中,用 <thead> 标签表示表格的头部区域,内部必须包含 <tr> 标签,一般用于表格的第一行;用 <tbody> 标签表示表格的主体区域。

<table>
    <thead>
        <tr>
        	<th>...</th>
            ...
        </tr>
    </thead>
    <tbody>
    	<tr>
        	<td>...</td>
            ...
        </tr>
        ...
    </tbody>
</table>

合并单元格

合并单元格有两种方式:

  • 跨行合并,rowspan=“合并单元格的个数”,在最上侧单元格中写合并代码
  • 跨列合并,colspan=“合并单元格的个数”,在最左侧单元格中写合并代码

合并单元格步骤:

  1. 先确定是跨行合并还是跨列合并
  2. 找到最上侧或最左侧的单元格,写合并代码
  3. 删除多余的单元格
<table align="center" border="1" cellpadding="20" cellspacing="0" width="700">     <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>

在这里插入图片描述

HTML 中的列表标签

如果说表格是用来展示数据的,那么列表就是用来布局页面的。列表最大的特点就是整齐、整洁、有序,它用于布局会更加自由和方便。

根据使用情景不同,列表可以分为三大类:无序列表、有序列表和自定义列表。

无序列表

在 HTML 页面中,使用 <ul> 标签来表示无序列表,使用 <li> 标签来表示列表项。

<ul>
    <li>列表项1</li>
    <li>列表项2</li>
    <li>列表项3</li>
    ...
</ul>

无序列表有几个需要注意的点:

  • 无序列表的各个列表项之间没有顺序级别之分,是并列的
  • <ul></ul> 中只能嵌套 <li></li>,直接在 <ul></ul> 标签中输入其他标签或文字是不被允许的
  • <li></li> 之间相当于一个容器,可以容纳所有元素,即可以输入其他标签、文字或其他东西
  • 无序列表有自己的样式属性,但在实际使用时,我们会使用 CSS 来设置

有序列表

有序列表即为有排列顺序的列表,其各个列表项会按照一定的顺序排列定义,列表排序以数字显示。

在 HTML 页面中,使用 <ol> 标签来表示有序列表,使用 <li> 标签来表示列表项。

<ol>
    <li>列表项1</li>
    <li>列表项2</li>
    <li>列表项3</li>
    ...
</ol>

有序列表有几个需要注意的点:

  • <ol></ol> 中只能嵌套 <li></li>,直接在 <ol></ol> 标签中输入其他标签或文字是不被允许的
  • <li></li> 之间相当于一个容器,可以容纳所有元素,即可以输入其他标签、文字或其他东西
  • 有序列表有自己的样式属性,但在实际使用时,我们会使用 CSS 来设置

自定义列表

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

在 HTML 页面中,使用 <dl> 标签来表示描述列表(或定义列表),使用 <dt> 标签来表示项目/名字,使用 <dd> 标签来表示每一个具体的项目/名字。

<dl>
    <dt>名词1</dt>
    <dd>名词1解释1</dd>
    <dd>名词1解释2</dd>
    <dd>名词1解释3</dd>
    ...
</dl>

自定义列表有几个需要注意的点:

  • <dl></dl> 里面只能包含 <dt><dd>
  • <dt><dd> 个数没有限制,经常是一个 <dt> 对应多个 <dd>

HTML 中的表单标签

在网页中,我们需要跟用户进行交互,收集用户信息,此时就需要用到表单。

在 HTML 中,一个完整的表单通常由表单域、表单控件(也称为表单元素)和提示信息三个部分组成。

表单域

表单域就是一个包含表单元素的区域。在 HTML 中,使用 <form> 标签来定义表单域,以实现用户信息的收集和传递。<form> 会把它范围内的表单元素信息提交给服务器。

<form action="URL" method="提交方式" name="表单域名称">
    各种表单元素控件
</form>
属性属性值作用
actionURL 地址用于指定接收并处理表单数据的服务器的 URL 地址
methodget/post用于设置表单数据的提交方式,取值为 get 或 post
name名称用于指定表单的名称,以区分同一页面中的多个不同表单域

表单控件(表单元素)

在表单域中可以定义各种表单元素,这些表单元素就是允许用户在表单中输入或者选择内容的控件。

常用的表单元素有以下几种:

  • input 输入表单元素

    • 使用 <input> 标签来收集用户信息,该标签是一个单标签,<input type="属性值">

    • <input> 标签中,包含一个必需的 type 属性,可以根据不同的 type 属性值,使输入字段具有多种形式(可以是文本字段、复选框、掩码后的文本控件、单选按钮、按钮等),即 type 属性通过设置不同的属性值来指定不同的控件类型

      属性值描述
      button定义可点击按钮(多数情况下,用于通过 JavaScript 启动脚本)
      checkbox定义复选框
      file定义输入字段和 “浏览” 按钮,供文件上传
      hidden定义隐藏的输入字段
      image定义图像形式的提交按钮
      password定义密码字段,该字段中的字符被掩码
      radio定义单选按钮
      reset定义重置按钮,重置按钮会清楚表单中的所有数据
      submit定义提交按钮,提交按钮会把表单数据发送到服务器
      text定义单行的输入字段,用户可在其中输入文本,默认宽度为 20 个字符
    • <input> 标签除了 type 属性外,还有其他一些属性,见下表

      属性属性值描述
      name由用户自定义定义 input 元素的名称
      value由用户自定义规定 input 元素的值
      checkedchecked规定此 input 元素首次加载时应对被选中
      maxlength正整数规定输入字段中的字符的最大长度

      单选按钮和复选框按钮中的 name 属性需要一致,几个单选按钮只有 name 属性一致时才能允许仅让一个单选按钮被选中,如

      性别:男 <input type="radio" name="sex"><input type="radio" name="sex">
      爱好:听歌 <input type="checkbox" name="hobby"> 打球 <input type="checkbox" name="hobby">
      

      单选按钮和复选框按钮可以设置 checked 属性,当页面打开时就可以默认选中这个按钮,几个单选按钮只需给其中一个设置 checked 属性即可。

      name 和 value 是每个表单元素都有的属性值,主要给后台人员使用。

      checked 属性主要针对于单选按钮和复选框按钮。

      <form>
          用户名:<input type="text" value="请输入用户名" maxlength="20"> <br>
          密码:<input type="password"> <br>
          是否成年:<input type="checkbox" checked="checked"> <br>
          性别:<label for="male"></label> <input type="radio" name="sex" id="male"> <label for="female"></label> <input type="radio" name="sex" id="female"> <br>
          爱好:听歌 <input type="checkbox" name="hobby"> 打球 <input type="checkbox" name="hobby"> <br>
          手机:<input type="text" value="请输入手机号码"> <br>
          <input type="button" value="获取短信验证码"> <!-- 结合JS使用 --> <br>
          上传照片:<input type="file" value="选择文件"> <br>
          <input type="submit" value="免费注册"> <!-- 点击了提交按钮,就可以把表单域中的表单元素的值提交到后台服务器 -->
          <input type="reset" value="重新设置">
      </form>
      
    • <label> 标签用于绑定一个表单元素,当点击 <label> 标签内的内容时,浏览器就会自动将焦点(光标)转到对应的表单元素上,可以增加用户体验

      <label for="sex"></label>
      <input type="radio" name="sex" id="sex">
      

      <label> 标签的 for 属性值应当与相关元素的 id 属性值相同。

  • select 下拉表单元素

    在 HTML 页面中,如果有多个选项让用户选择,可以使用 <select> 标签来定义下拉表单元素。

    <select>
        <option>选项1</option>
        <option>选项2</option>
        <option>选项3</option>
        ...
    </select>
    

    <select> 标签中至少需包含一对 <option></option>

    <option> 中定义 selected=“selected”,则可以将该选项设置为默认选中项。

  • textarea 文本域表单元素

    当用户输入内容较多的情况下,就不太方便使用文本框表单了,此时可以使用 <textarea> 标签。在表单元素中,<textarea> 标签是用于定义多行文本输入的控件。

    留言:<textarea rows="3" cols="50">在此输入您的留言</textarea>
    

    rows=“显示的行数”,rows=“每行中可显示的字符数”,在实际开发中这两个属性不会在 <textarea> 标签中使用,都是用 CSS 来调整。

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值