Web学习笔记(一):HTML篇

声明:本篇笔记部分摘自《Web前端技术 - 航空工业出版社》,遵循CC BY 4.0协议。 存在由AI生成的小部分内容,仅供参考,请仔细甄别可能存在的错误。 点击查看我的博客原文


一、HTML概述

HTML (HyperText Markup Language,超文本标记语言)是用于创建和设计网页的标准标记语言。它通过一系列 标签(Tags) 定义网页的结构和内容,浏览器会解析这些标签并渲染成用户看到的页面。

二、常用HTML标签

1.基本结构

html 复制代码
<!DOCTYPE html>    <!-- 文档类型声明 -->
<html>     <!-- HTML部分 -->
	<head>    <!-- 网页头部 -->
		<meta charset="utf-8">    <!-- 元数据,声明字符集 -->
		<title> </title>    <!-- 网页标题 -->
		<link rel="shortcut icon" href="img/favicon.png">    <!-- 链接网页图标 -->
	</head>
	<body>     <!-- 网页主体部分 -->
		<!-- 网页可见部分 -->
	</body>
</html>

使用规范专用、结构清晰的标签,可以方便搜索引擎整理网页内容,有利于信息检索。

2.常用标签

① 文档标签

  • <!DOCTYPE>:文档声明,<!DOCTYPE html>表明此文档使用H5标准。
  • <html>:又称根标签,>表明这是一个H5文档。
  • <head>:标记文档头部,存储网页基本信息。
    • <meta>:元信息标签,用于设置描述和关键词,以便搜索引擎检索。
      • 字符集:<meta charset="utf-8"> 定义网页使用utf-8字符集。
      • 网页视口:<meta name="viewport"> 设置视口高度、缩放比等,常用于在响应式设计中使网页适配移动端。
    • <title>:标记网页标题,显示在浏览器标签上。
    • <link>:链接外部资源,规定了当前文档与某个外部资源的关系。
      • 链接图标:<link rel="shortcut icon" href="img/favicon.png">
      • 链接CSS样式:<link rel="stylesheet" type="text/css" href="index.css">
  • <body>:标记文档主体,用于设置展示给用户的内容。

② 结构标签

  • <header>:页眉标签,通常包含网站Logo、网页主导航和搜索框等。
  • <nav>:导航标签,标记页面导航的链接组,如主菜单、侧边栏导航或者页内导航等。
  • <article>:文章块标签,用于标记一块完整独立的内容,如文章、博客条目,用户评论。
  • <section>:区块标签,用于标记文档中的节,从而对内容进行分区,如章节、页眉页脚。
  • <aside>:附栏标签,用于标记引用内容、广告等与内容无关的部分。
  • <footer>:页脚标签,用于标记文档或节的页脚,如友链、版权等信息。
  • <div>:块级无语义容器,用于模块化布局。
  • <span>:行内无语义标签,常用标记于文章标题下的作者、时间、地点等附属信息。

★ 使用示例

html 复制代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>简单网页示例</title>
</head>
<body>
    <!-- 页眉部分 -->
    <header>
        <h1>我的网站</h1>
        <nav>
            <ul>
                <li><a href="#">首页</a></li>
                <li><a href="#">关于我们</a></li>
                <li><a href="#">联系我们</a></li>
            </ul>
        </nav>
    </header>

    <!-- 主体内容 -->
    <main>
        <!-- 文章部分 -->
        <article>
            <h2>欢迎来到我的博客</h2>
            <section>
                <h3>第一章:HTML 简介</h3>
                <p>HTML 是用于构建网页的标准标记语言。</p>
            </section>
            <section>
                <h3>第二章:CSS 简介</h3>
                <p>CSS 用于控制网页的样式和布局。</p>
            </section>
            <footer>
                <p>发布时间:<span>2023年10月10日</span> | 作者:<span>张三</span></p>
            </footer>
        </article>

        <!-- 附栏部分 -->
        <aside>
            <h3>相关链接</h3>
            <ul>
                <li><a href="#">HTML 教程</a></li>
                <li><a href="#">CSS 教程</a></li>
            </ul>
        </aside>
    </main>

    <!-- 页脚部分 -->
    <footer>
        <p>&copy; 2023 我的网站. 版权所有.</p>
        <nav>
            <ul>
                <li><a href="#">隐私政策</a></li>
                <li><a href="#">使用条款</a></li>
            </ul>
        </nav>
    </footer>
</body>
</html>

③ 文本标签

  • <h1> ~ <h6>:1级标题 ~ 6级标题,默认使文字加粗,字号依次减小。
  • <p> (paragraph):段落标签,用于标记段落文本,默认使用系统的字体字号。
  • <strong>:强调标签,呈现粗体效果,语气较重。
    • <b>:只有加粗效果,无强调作用。
  • <em> (emphasis):强调标签,呈现斜体 效果,语气较轻。
    • <i>:只有斜体效果,无强调作用。
  • <sup>:标记上标,如 <math xmlns="http://www.w3.org/1998/Math/MathML"> x 2 、 R e g i s t e r ® x^{2}、Register^{®} </math>x2、RegisterR◯。
  • <sub>:标记下标,如 <math xmlns="http://www.w3.org/1998/Math/MathML"> x 1 、 C a C O 3 x_{1}、CaCO_{3} </math>x1、CaCO3。
  • <ins> (insert):表示插入的文本,默认添加下划线样式。
  • <del> (delete):表示删除的文本,默认添加删除线样式。
  • <abbr> (abbreviation):标记简称或缩写词,鼠标悬停时使用气泡显示全称。
    • 如:。
  • <br />:实现文本换行,不建议大量使用。
  • <hr />:标记水平线。
    • align属性:设置对齐方式,center 居中 | left 左对齐 | right 右对齐
    • size属性:设置粗细,以像素(px)为单位,默认2px
    • width属性:设置宽度,单位为px或%,默认100%
    • color属性:设置颜色,可用颜色名、#RGB十六进制、(r, g, b)设置。
  • <dfn>:用于标记专用术语,默认添加斜体效果。
  • <pre>:表示预定义格式文本,即保利原有的空格和换行。
  • <code>:用于标记代码或文件名,一般包裹在<pre>标签中以保留原有的格式。

④ 特殊字符转义

字符 含义 代码 解释
空格 &nbsp; Non-Breaking Space
< 小于号 &lt; less than
大于号 &gt; great than
& 逻辑与符号 &amp; ampersand
人民币符号 &yen; 类似拼音
© 版权符号 &copy; copyright
® 注册商标符号 &reg; register
° 度符号 &deg; degree
± 正负号 &plusmn; plus-minus
× 乘号 &times;
÷ 除号 &divide;

⑤ 多媒体

  • ★ 路径表示法

    • 图片在同级目录下:example.png
    • 图片在下级目录下:dic/example.png
    • 图片在上级目录下:../dic/example.png
  • 图片标签:<img src="路径" alt="提示文本" />

    • src支持链接 JPEG 、 GIF 和 PNG 三种格式的图片
  • 音频标签:<audio src="路径" controls="controls">提示文本</audio>

    • controls属性:显示音频控件
  • 视频标签:<video src="路径" controls="controls">提示文本</video>

    • controls属性:显示视频控件
  • 流标签:<figure></figure>

    • 表示页面中的一块独立的内容,表现为具有左右缩进的内容快。
    • <figcaption>:嵌套在<figure中标记流的标题,可以省略。

★ 使用示例

html 复制代码
<figure>
	<figcaption>流标题</figcaption>
	<img src="img/p1.jpg" alt="示例图片" />
	<p>流内容</p>
</figure>

⑥ 列表

  • 无序列表:

    • 各级列表项前,默认分别显示实心圆、空心圆、实心方块图标。
    • 也可通过type= "disc" "circle" "square" 强制指定序号样式。
  • 有序列表:<ol></ol>,具有以下属性:

    • reversed="reversed":降序排列(仅颠倒编号,各列表项内容不颠倒)。
    • start="1":指定序号的起始值。
    • type="1" "A" "a" "I" "i":指定序号的样式。
  • 自定义列表: <dl></dl>

    • 使用 <dt></dt> 标记列表标题
    • 使用 <dd></dd> 标记列表内容
  • 列表项:<li></li>,与<ol>相似,具有以下属性:

    • value="1":指定当前项的序号,并使之后的列表项重新编号。
    • type="1" "A" "a" "I" "i":指定序号的样式。

★ 使用示例

html 复制代码
<ul type="disc">
	<li>无序列表第一项</li>
	<li>无序列表第二项</li>
	<ol reversed="reversed">
		<li value="1" type="A">有序列表第一项</li>
		<li>有序列表第二项</li>
	</ol>
</ul>
<dl>   <!-- 自定义列表中可以有多个标题,列表项没有项目符号,也不强调次序 -->
	<dt> 自定义列表标题</dt>
	<dd>自定义列表第一项</dd>
	<dd>自定义列表第二项</dd>
	<dt>自定义列表标题</dt>
	<dd>自定义列表项目<dd>
</dl>

⑦ 超链接

  • <a href="目标地址"> 载体 </a>
    • href属性:必须设置,若暂时未确定地址,用href="#"将链接置空。
    • target属性:self 当前窗口打开 | blank 新窗口打开
    • download属性:指定资源的文件名,并且强制浏览器执行下载操作(仅Chrome和FIreFox支持)。
  • 锚点链接:设置某个标签的id属性,将链接的href属性设置为href="#id名称",可以创建一个锚点。用户点击链接时会自动跳转到指定id所在的标签处。
  • 电子邮件链接:href = "mainto:电子邮件地址?subject=邮件主题"
  • 图像热点链接:在一张图片上根据坐标分别设置不同区域的超链接。步骤如下:
    • 在图片标签<img />下添加一个<map>标签,其name属性为图片的id,表示添加图像热点链接的作用区域
    • <map>标签中添加几个标签,使用下列属性设置热点链接:
      • shape:circle 圆形 | rect 矩形 | poly 多边形
      • coords:关键点的坐标,参数如下:
        • circle形状:coords = "圆心x, 圆心y,半径"
        • rect形状:coords = "左上顶点x, 左上顶点y, 右下顶点x, 右下顶点y"
        • poly形状:coords = "顶点1x, 顶点1y, 顶点2x, 顶点2y, ..."

★ 使用示例

html 复制代码
<a href="img/p1.png" target="_blank" id=pic_dog>  <!-- 简单的超链接示例 -->
	<img src="img/p1.png" alt="小狗" />
	<p>点击预览</p>
</a>

<a href="#pic_dog">  <!-- 锚点示例:点击跳转到小狗图片 -->
	<p>查看图片</p>
</a>

<img src="img/main.png" alt="动物大全"  usermap="#map"/>  <!-- 图像热点链接 -->
<map name="map">  <!-- 属性值应与usermap的值相同 -->
	<area shape="circle" coords="88, 77, 63" href="img/dogs.png" alt="小狗">
	<area shape="rect" coords="26, 190, 151, 357" href="img/cats.png" alt="小猫">
</map>

⑧ 表格

  • 基本结构
    • <table>:标记表格。
    • <caption>:标记表格的标题。
    • <tr>:标记表格中的一行。
    • <th>:包含在<tr>中,标记表头内容,默认加粗居中。
    • <td>:包含在<tr>中,标记普通内容,默认不加粗左对齐。
  • 表格分组
    • 按行分组:
      • <thead>:标记表头部分(<th>标记的是表头的一格)。
      • <tbody>:标记表体部分。
      • <tfoot>:标记表尾部分。
    • 按列分组:
      • <col>:包含在<table>中,通过 span属性 设置每组的列数。
  • 常用属性
    • 整体边框
      • 设置<table>border属性,单位为px。
    • 单元格的内外边距
      • 内边距(内容 - 边框):设置<table>cellpadding属性,单位为px。
      • 外边距(边框 - 边框):设置<table>cellspacing属性,单位为px。
      • 图示:
        • 这两个属性不常在HTML中使用(已过时),而是使用CSS中的border-spacing属性。
    • 表格内外边距(外遵框架frame,内守规矩rulles)
      • 表格内边框:设置<table>rules属性(已废弃) ,取值如下:
        • none:不显示内边框
        • all:显示所有边框
        • groups:只显示分组的边框
        • rows:显示行之间的边框
        • cols:显示列之间的边框
      • 表格外边框:设置<table>frame属性(已废弃) ,取值如下:
        • void:不显示外边框
        • box、boder:显示所有外边框
        • above:显示上边框
        • below:显示下边框
        • lhs:显示左外边框
        • rhs:显示有外边框
        • hsides:(horizon sides)显示上下边框
        • vsides:(vertical sides)显示左右边框
    • 单元格跨行、跨列
      • 跨行:设置<th><td>的rowspan属性,值为跨行数。
      • 跨列:设置<th><td>的colspan属性,值为跨列数。

★ 使用示例

html 复制代码
<table border="1" rules="all">      <!-- 以1px显示所有外边框 -->
	<caption>表格标题</caption>
	<col class="c1" span="1" />     <!-- 垂直分组:第一组占一列 -->                
	<col class="c2" span="3" />     <!-- 垂直分组:第二组占三列 -->
	<!-- 水平分组:表头部分 -->
	<thead>
		<tr><th>表头第一格</th><th>表头第二格</th><th>表头第三格</th><th>表头第四格</th></tr>
	</thead>
	<!-- 水平分组:表体部分 -->
	<tbody>
		<tr>
			<!--跨行内容-->
			<th rowspan="2">内容(1,1)<br/>(占两行)</th>
			<td>内容(1,2)</td><td>内容(1,3)</td><td>内容(1,4)</td>
		</tr>
		<tr>
			<td>内容(2,2)</td><td>内容(2,3)</td><td>内容(2,4)</td>
		</tr>
		<tr>
			<th>内容(3,1)</th>
			<td>内容(3,2)</td><td>内容(3,3)</td><td>内容(3,4)</td>
		</tr>
	</tbody>
	<!-- 水平分组:表尾部分 -->
	<tfoot>
		<tr>
			<th>表尾第一格</th>
			<!--跨列内容-->
			<th colspan="3">表尾第二格(占三列)</th></tr>
	</tfoot>
</table>

★ 表格效果:

| 表头第一格 | 表头第二格 | 表头第三格 | 表头第四格 |
| 内容(1,1) (占两行) | 内容(1,2) | 内容(1,3) | 内容(1,4) |
| 内容(1,1) (占两行) |
|---------------|---------|---------|---------|
| 内容(2,2) | 内容(2,3) | 内容(2,4) |
[表格标题]

⑨ 表单

  • 基本组成:表单域、表单控件、提交按钮、提示信息。
    • 表单域:网页中放置表单控件与提示信息的区域,用于采集用户输入信息并传输到服务器。
      • <form action="提交地址" method="提交方式"></form>(form标签不可互相嵌套。)
        • action属性:表示数据提交的地址,一般是一个URL,开发初期可使用#占位置空。
        • method属性:提交表单数据的方式,默认为get,一般使用post。
        • name属性:表单的名称。
        • autocomplete属性:自动记录并弹出历史记录。取值: on | off
        • novalidate属性:值为novalidate,若设置则不会对输入的内容进行检查。
        • enctype属性:设置数据发送到服务器时的编码类型,取值:
          • application/x-www-form-urlencoded:表示对所有字符编码再传输,会导致大文件传输效率降低。
          • mutipart/formdata:表示传输的数据为二进制类型。
          • text/plain:表示传输纯文本,不编码特殊字符,但是空格转换为加号"+"。
        • target属性:表示表单数据提交地址的打开方式,取值:self 当前窗口打开 | blank 新窗口打开
    • 提交按钮:用于用户确定信息填写完毕后将其传输至服务器。
    • 提示信息:提示用户输入信息的内容和类型。
    • 常用表单控件:提供表单功能,如文本框、按钮、单/复选框、搜索框等。
      • <input type="text" />:单行文本框,用于输入简短的文本,如账号密码。
      • <input type="password" />:密码文本框,会隐藏输入的内容,显示黑色圆点。
      • <input type="radio" />:单选框,用于单项选择,如性别、年级等。
      • <input type="checkbox" />:复选框,用于多项选择(也可以单选),如兴趣爱好爱好。
      • <input type="button" />:普通按钮,用于标记可单机的按钮,通过value属性可设置按钮内容。
        • 作用同<button>标签,后者可嵌入文本、图像等内容,同时拥有更丰富的样式。
      • <input type="submit" />:提交按钮,用于提交用户输入的数据,默认内容为"提交"。
      • <input type="reset" />:重置按钮,用于清空表单中的数据,默认内容为"重置"。
      • <input type="image" />:图像形式的提交按钮,使用图像代替普通提交按钮样。
      • <input type="file" />:文件域,包含一个"选择文件"的按钮和表示选中文件的文本,用户单机按钮可选择文件上传。
      • <input type="email" />:邮箱地址文本框,支持验证邮箱格式正确性,并提示错误信息。
      • <input type="url" />:地址文本框,支持验证URL格式正确性,并提示错误信息。
      • <input type="tel" />:电话号码文本框,通过pattern属性设置正则表达式限制输入格式。
      • <input type="search" />:搜索框,能够记录输入的字符,作为网站搜索的关键词。
      • <input type="number" />:数值文本框,只能输入数字,支持设置max,min,step,value属性限制输入内容的边界、间隔和默认值。
      • <input type="range" />:数值范围滑块,将数值文本框显示为滑动条控件。
      • <input type="date" />:日期时间文本框,可通过设置type来控制时间的精度:date(天) | week(周) | month(月) | time(分钟)
    • 其他表单控件:
      • <textarea clos="列数" rows="行数" palcehoder="提示信息">:文本区域(支持输入多行文本,类似于留言板)
      • <select size="选项个数" mutiple="mutiple"><option>选项一</option><option>选项二</option><option>选项三</option></select>:选择框(下拉列表)
        • 若为select设置mutiple属性,则选项会按多行显示,且支持按Ctrl多选
        • 若为option设置selected属性,默认选中此选项
        • 若选项较多,可使用<optgroup label="组名"></optgroup>包含多个<option>标签,进行选项分组
      • 数据列表:支持用户输入关键词匹配选项,同时也支持用户直接选择列表中的选项,格式如下:
HTML 复制代码
<input type="类型" list="列表名称">
<datalist id="列表名称">
	<option label="说明内容1">选项1</option> <!-- 说明内容不会被填入输入框 --->
	<option label="说明内容2">选项2</option>
	...
</datalist>
  • 常用表单属性
属性 属性值 说明
name 自定义 表单控件的名称
value 自定义 表单控件的默认值
readonly readonly 表单控件不可编辑修改
disabled disabled 禁用该表单控件(显示为灰色)
checked checked 该项默认选中(单选钮或复选框)
autocomplete on/off 自动完成功能
autofocus autofocus 自动获取焦点
form <form>的id属性值 指定控件所属表单
placeholder 字符串 显示在输入型文本框中的输入提示
required required 该表单控件不可为空
pattern 字符串(正则表达式) 验证输入内容的模式
  • 提示信息:<label for="目标控件id">提示信息</label>
    • 用于单选/复选框选择钮后的文字说明,或按钮中的文字(如:○ 18岁以下)
    • 点击提示信息也能够激活对应的控件,有利于优化用户体验
  • 表单对象分组:<fieldset>
    • 格式:
HTML 复制代码
    <fieldset>
        <legend>登录</legend>
        <p>账号:<input type="text" /></p>
        <p>密码:<input type="password" /></p>
    </fieldset>

★ 常用表单标签使用示例

html 复制代码
<form action="#" method="post">
            <p>会员信息表</p>
            <fieldset>
                <legend>基本信息</legend>
                <label for="name">昵称:</label>
                <input id="name" type="text" /><br /><br />
                <label for="idc">头像:</label>
                <input id="idc" type="file" />
            </fieldset>
            <fieldset>
                <legend>其他信息</legend>
                <p>性别:
                    <label for="nan">男</label>
                    <input id="nan" type="radio" name="rad" />
                    <label for="nv">女</label>
                    <input id="nv" type="radio"  name="rad" />
                </p>
                <p>兴趣:
                    <label for="chang">唱歌</label>
                    <input id="chang" type="checkbox" name="chb" />
                    <label for="tiao">跳舞</label>
                    <input id="tiao" type="checkbox" name="chb" />
                    <label for="dong">运动</label>
                    <input id="dong" type="checkbox" name="chb" />
                </p>
                <p>
                    <label for="gq">个性签名:</label><br />
                    <textarea id="gq" cols="40" rows="5"></textarea>
                </p>
            </fieldset><br />
            <input type="submit" />
            <input type="reset" />
        </form>

★显示效果

相关推荐
xhxxx1 天前
别再被 CSS 定位搞晕了!5 种 position 一图打尽 + 实战代码全公开
前端·css·html
询问QQ688238861 天前
基于偏最小二乘算法(PLS)的多输出数据回归预测
html
挫折常伴左右1 天前
初见HTML
前端·html
一水鉴天2 天前
整体设计 定稿 之24 dashboard.html 增加三层次动态记录体系仪表盘 之2 程序 (Q208 之1)
前端·html
一水鉴天2 天前
整体设计 定稿 之22 dashboard.html 增加三层次动态记录体系仪表盘 之1
前端·html
沟通QQ8762239652 天前
有限元仿真模型仿真模型-基于COMSOL多物理场耦合仿真的变压器流固耦合及振动噪声分析 1、变...
html
江公望2 天前
HTML5 History 模式 5分钟讲清楚
前端·html·html5
A24207349302 天前
使用jQuery动态操作HTML和CSS
css·html·jquery
carry杰3 天前
nacos bootstrap.yml 动态配置开发测试线上模式
前端·bootstrap·html
€绘梨衣3 天前
笔墨屋12.12题目及解析
html