2005 字
10 分钟
HTML基础

复习#

核心问题:

  • HTML文档基本结构
  • 各大html标签的使用
  • *表单控件
  • 注释与特殊字符

Q&A#

HTML文档基本结构
文本与段落(h1 div p br)
列表(ul/ol li dl/dd/dt type)
超链接<a> href、target
表格<table> tr/th/td colspan/rowspan
图像<img> src alt width/height
图像热区 map/area 的 shape/coords 怎么分?
多媒体嵌入audio video controls
滚动字幕 marquee 有哪些属性?
embed 嵌入外部内容怎么用?
iframe框架 src name(结合超链接的target)
.class 和 #id
表单控件有哪些?GET 与 POST 的区别?(CTF 重点)
注释与特殊字符怎么写?(CTF 可能藏 flag)


1. HTML 文档基本结构与编写#

  • <!DOCTYPE>声明:位于文档最前面,告知浏览器文档使用的 HTML 规范。
  • 基本结构:
<!DOCTYPE html>
<html>
<head>
<title>页面标题</title>
</head>
<body>
网页内容
</body>
</html>

2. 文本与段落标签#

标签用途
<h1>~<h6>标题标签
<p>段落标签
<br>换行标签
<pre>预排版标签(空格换行直接渲染)
<div>分区显示标签
<font>文字格式标签(设置大小、字体、颜色)

3. 列表标签#

  • 无序列表: <ul> + <li>
  • 有序列表: <ol> + <li>
  • 定义列表: <dl> + <dt> + <dd>
  • 列表嵌套: 列表之间可以相互嵌套使用

type 属性(改变符号 / 编号样式):

列表type 取值效果
无序 <ul>disc(默认实心圆)circle(空心圆)square(方块)项目符号样式
有序 <ol>1 A a I i编号用数字/大写/小写/罗马

列表常用技巧:

  • 去项目符号: list-style: none;
  • 让 li 横向排成一排: 给 li 设 display: inline-block;(常用于导航栏菜单)

4. 超链接标签 <a>#

基本语法: <a href="链接地址" target="打开方式">热点文本</a>

链接类型:

  • 链接到其他页面:<a href="目标文件.html">热点文本</a>
  • 链接到本页内锚点(标题/位置跳转):<a href="#书签名">热点文本</a>,配合目标元素的 id="书签名",点击后页面滚动到对应标题/位置
  • 链接到其他类型文件(如压缩包)
  • 链接到电子邮箱:<a href="mailto:邮箱地址">热点文本</a>

target 属性(打开方式):

值含义
_blank在新窗口打开
_self在当前框架打开
_top在整个浏览器窗口打开
_parent在父窗口打开

5. 表格标签 <table>#

基本结构:

  • 表格:<table>
  • 行:<tr>(Table Row)
  • 表头:<th>(Table Header)
  • 单元格:<td>(Table Data)

跨行与跨列:

  • colspan:跨列合并(横向)
  • rowspan:跨行合并(纵向)

表格属性: border(边框)、width/height(宽高)、align(对齐)、bgcolor(背景色)、background(背景图片)

表格结构标签: <thead>(表头)、<tbody>(表体)、<tfoot>(表尾)、<caption>(表格标题)

6. 图像标签 <img>#

基本语法: <img src="图片文件名" alt="简单说明" width="宽度" height="高度">

常用属性: border(边框)、width/height(宽高)、align(对齐)、hspace(水平空白)、vspace(垂直空白)

align 对齐属性取值:

取值含义
top顶端对齐
middle垂直居中
bottom底部对齐(默认)
left向左对齐
center水平居中
right向右对齐

注:hspace 控制图像左右的空白,vspace 控制图像上下的空白,单位为像素。

图像作为超链接: <a href="链接"><img src="图片"></a>

图像热区 <map> + <area>#

用 map 配合 area 在图像上划分多个可点击区域(热区),不同区域可跳转到不同地址:

<img src="地图.jpg" usemap="#页面地图">
<map name="页面地图">
<area shape="rect" coords="x1,y1,x2,y2" href="链接1" alt="说明1" title="提示1">
<area shape="circle" coords="cx,cy,r" href="链接2" alt="说明2" title="提示2">
</map>

<area> 常用属性:

属性说明
shape热区形状:rect(矩形)、circle(圆形)、poly(多边形)、default(整图)
coords坐标:矩形 x1,y1,x2,y2;圆形 圆心x,圆心y,半径;多边形 x1,y1,x2,y2,...
href点击后跳转的链接
alt图片无法显示时的替代文字
title鼠标悬停时的提示文字

要点:<img> 上写 usemap="#名字",<map name="名字"> 与之一一对应才能生效。

7. 多媒体标签#

  • 背景音乐: <bgsound src="声音文件" loop="播放次数">(仅部分旧版浏览器支持)
  • 音频: <audio controls src="音频文件"></audio>
  • 视频: <video controls width="宽度" src="视频文件"></video>
  • <video> 常用属性: controls、autoplay、loop、muted
  • 页面自动刷新: <meta http-equiv="Refresh" content="秒数; url=新页面">

滚动字幕 <marquee>(旧标签,了解)#

使文字/图片在页面中往复滚动显示。HTML5 已废弃,但考纲可能涉及:

<marquee direction="left" behavior="scroll" scrollamount="6" scrolldelay="85"
onmouseover="this.stop()" onmouseout="this.start()">
滚动的内容
</marquee>

常用属性:

属性说明
direction滚动方向:left(向左)/ right(向右)/ up(向上)/ down(向下)
behavior滚动行为:scroll(连续滚动)/ slide(滑到即停)/ alternate(来回交替)
scrollamount滚动速度(每帧移动像素,值越大越快)
scrolldelay滚动延迟(毫秒,值越大越慢)
onmouseover鼠标移入时的处理(常用 this.stop() 暂停)
onmouseout鼠标移出时的处理(常用 this.start() 继续)

嵌入内容 <embed>#

在网页中嵌入外部多媒体/插件内容(音频、视频、Flash、PDF 等):

<embed src="音频.mp3" width="300" height="200">

常用属性与 img/video 类似:src(源)、width/height(宽高)。

8. 框架应用#

  • <iframe> 标签: 在页面中嵌入另一个页面
<iframe src="嵌入页面.html" width="宽度" height="高度" frameborder="边框"></iframe>
  • 结合超链接的 target 属性: 通过设置 target="iframe的name属性值" 实现框架间的链接跳转 —— 给 <iframe name="帧名"> 命名,超链接写 <a href="页面.html" target="帧名">,点击后目标页面在 iframe 内打开

9. DIV + CSS 布局#

  • 使用 <div> 标签结合 CSS 技术进行页面布局

.class(类选择器) vs #id(ID选择器):

对比Class(类)ID
唯一性可重复使用同一页面只能出现一次
优先级较低较高
适用场景多个元素需要相同样式单个元素的专属样式或 JS 钩子
命名规则.类名 { }#ID名 { }
注意

一个页面中一个 ID 只能对应一个元素,不能重复;.class 可复用,多个元素可共用。

<div> vs <span>:

  • <div>:块级元素,独占一行,常用于页面分区、布局
  • <span>:行内元素,不换行,常用于包裹文本片段设置样式

常用 display 值与行内/块级:

值行为
block块级,独占一行(如 div、p)
inline行内,不换行,不可设宽高(如 span、a)
inline-block行内 + 可设宽高:不换行,但能设置 width/height/margin/padding(导航菜单常用)

:hover 伪类:
鼠标悬停在元素上时应用的样式,常配合超链接:

a:hover { color: red; }

<a> 的四种状态(顺序记:L-V-H-A 爱恨)::link(未访问) → :visited(已访问) → :hover(悬停) → :active(按下)。

10. *表单标签 <form> ⭐(CTF 常见考点)#

基本语法: <form action="提交地址" method="提交方式">...</form>

关键属性: action(提交目标 URL)、method(GET 或 POST)

常用表单控件:

  • 单行文本框: <input type="text" name="用户名" value="默认值">
  • 密码框: <input type="password" name="密码">
  • 单选框: <input type="radio" name="性别">(同 name 为一组)
  • 复选框: <input type="checkbox" name="爱好">
  • 下拉列表: <select name="城市"><option value="广州">广州</option></select>
  • 文本域: <textarea name="简介" rows="行数" cols="列数"></textarea>
  • 隐藏域: <input type="hidden" name="token" value="xxxxx">
  • 提交按钮: <input type="submit" value="提交">
  • 重置按钮: <input type="reset" value="重置">
  • 普通按钮: <input type="button"> 或 <button>点击</button>
CTF 考点

hidden 隐藏字段可能存放敏感信息!前端隐藏的不代表安全,源代码中可见。

GET 与 POST 的区别(重点):

对比GETPOST
数据位置URL 地址栏中(?key=value)请求体中
数据大小限制有(约 2KB)无限制(通常由服务器配置)
安全性低(数据暴露在地址栏)相对高(不暴露在 URL 中)
缓存会缓存不会缓存
用途获取数据提交数据
CTF 考点

GET 参数在 URL 中可见;POST 参数需要抓包(如 Burp Suite)才能查看。

11. 注释与特殊字符#

  • HTML 注释: <!-- 注释内容 -->(浏览器不显示,但可在源代码中看到)
CTF 考点

注释里的内容页面看不到,但 F12 查看源代码就能发现,CTF 里常用注释藏 key/flag。

常见特殊字符:

显示HTML 实体
空格&nbsp;
<&lt;
>&gt;
&&amp;
"&quot;
©&copy;
HTML基础
https://entropy.lighterever.com/posts/HTML基础/
作者
Lighterever
发布于
2026-09-13
许可协议
CC BY-NC-SA 4.0