HTML

开发者技术

HTML

HTML (HyperText Markup language, 超文本标记语言) 是一种用于创建网页结构和内容的标记语言,而不是编程语言

  • 标记语言: 通过一套"标签"(Tag) 来标注文本的不同部分,告诉浏览器该如何显示内容
  • 不是编程语言: 没有变量、函数、循环等逻辑控制语言

组成部分

组成部分作用
<!DOCTYPE html>文档类型声明,告诉浏览器使用标准模式渲染
<html>根元素,包裹整个页面
<head>元数据容器(标题、编码、样式、脚本、SEO标签)
<body>页面可见内容(用户看到的部分)
title浏览器标签页标题 + 搜索引擎结果标题

语义化标签

使用具有明确含义的HTML标签来描述内容,而非全部使用<div>/<span>加class,让标签"自解释" ———— 不看CSS/JS,仅看HTML就能理解页面结构

核心价值

价值说明
SEO搜索引擎爬虫识别标签权重,<h1> > <h2> , <article> 标识主体内容
可访问性(ally)屏幕阅读器(如 NVDA,VoiceOver)根据语义标签播报结构和快捷键
代码可维护性开发者阅读代码时一眼看懂结构,降低协作成本
跨平台兼容不同设备/浏览器能正确理解内容层次,降级时仍保持结构清晰

语义化标签全景图(按功能分组)

  1. 页面结构标签
标签语义含义典型使用场景隐式ARIA角色
<header>页眉/区块头部网站logo、导航栏、搜索框、作者信息role="banner"
<nav>导航区域主导航菜单、面包屑导航、分页导航role="navigation"
<main>页面主体内容页面核心内容,一个页面只能用一次role="main"
<article>独立内容单元博客文章、新闻详情、评论、论坛帖子role=article
<section>通用内容区块章节、选项卡面板、轮播图区域role="region"
<aside>侧边栏/附属信息广告侧边栏、相关阅读、引用区块role="complementary"
<footer>页脚/区块尾部版权信息、备案号、联系方式、友情链接role="contentinfo"
  1. 文本语义标签
标签语义含义视觉效果非语义替代(错误做法)
<h1>~<h6>标题层级加粗 + 字号递减<div class="title">
<p>段落上下外边距<div> + 手动换行
<strong>强重要性(紧急/严重)加粗<b>
<em>语气强调(重音/加重语气)斜体<i>
<mark>高亮标记(与上下文相关)黄色背景<span style="background: yellow">
<ins>插入的文本下划线<u>
<del>删除的文本删除线<s>
<small>小号文本(免责/细则)字号变小<span style="font-size: smaller">
<abbr>缩写/首字母缩略词虚线下划线 + title属性普通文字
<time>日期/时间无默认样式<span>
<address>联系信息斜体<div>
<code>代码片段等宽字体<span>
  1. 列表语义标签
标签语义含义适用场景
ul + li无序列表菜单导航、新闻列表、商品清单
ol + li有序列表操作步骤、排行榜、目录
dl + dt + dd描述列表(键值对)产品参数、术语解释、问答
  1. 表格语义标签
标签语义含义
thead表头
tbody表体
tfoot表底
th表头单元格
tr表行
td表体单元格
caption表格标题
scope="col"/"row"定义 th 是列头还是行头
  1. 表单语义标签
标签/属性语义含义
<label>显式关联表单控件,扩大点击区域
<fieldset>将相关表单控件分组
legend为fieldset提供分组标题
<input type="email">语义化输入类型(验证 + 移动端键盘)
<input type="tel">数字键盘
<button type="submit">确认按钮
  1. 媒体语义标签
标签语义含义
<figure>独立的引用单位(图片、图表、代码块)
<figcaption>为 figure 提供标题/说明
picture响应式图片容器(艺术方向)
video / <audio>视频/音频
<figure>  <img src="dome.png" alt="图片描述">  <figcaption>图1: 描述</figcaption></figure>
<picture>  <!-- 场景1:宽度 ≤ 600px 时,加载裁剪后的正方形图 -->  <source media="(max-width: 600px)" srcset="small-square.jpg">   <!-- 场景2:宽度 ≤ 1200px 时,加载中等宽图 -->  <source media="(max-width: 1200px)" srcset="medium.jpg">   <!-- 场景3:支持 WebP 格式的浏览器,加载 WebP(高画质小体积) -->  <source type="image/webp" srcset="large.webp">   <!-- 默认降级:老浏览器或都不匹配时 -->  <img src="large.jpg" alt="风景描述"></picture>