30分钟学会HTML

devtools/2025/1/8 18:54:23/

HTML 基本语法

HTML(HyperText Markup Language)是构成网页内容的基础。它使用一系列的标签来描述网页的结构,包括文本、图片、链接等元素。浏览器会解析这些标签并渲染成我们看到的网页。

在线体验一下 CodePen (在线 HTML 编辑器)。

千万不要被「超文本」、「标记语言」吓到,HTML 的语法非常直观,常用的标签结构并不复杂,用于构建基础网页已经足够,稍微了解一下就能上手。

就是这些基本的标签结构,却能让人优雅地组织你的网页内容,专注于信息的呈现而不是纠结于如何显示,达到“心中有页,落笔成型”的境界。

HTML 文档结构

每个 HTML 文档都需要一个基本的结构,声明文档类型,并包含 <html><head><body> 等核心标签。

HTML 语法作用示例
<!DOCTYPE html>声明文档类型为 HTML5
<html></html>HTML 文档的根元素
<head></head>包含文档的元数据,如标题、字符编码等
<title></title>定义文档的标题,显示在浏览器标签上<title>我的网页标题</title>
<meta charset="UTF-8">定义字符编码为 UTF-8,支持多种字符集
<body></body>包含网页可见内容的主体部分
<h1></h1><h6></h6>定义不同级别的标题<h1>主标题</h1>, <h2>副标题</h2>
<p></p>定义段落<p>这是一个段落。</p>

可选语法 (实际上是不同的 HTML 版本和doctype)

虽然 <!DOCTYPE html> 是 HTML5 的标准声明,但以前的 HTML 版本有不同的doctype声明方式。现在推荐使用 HTML5 的简洁声明。

最佳实践

一个标准的 HTML 文档应该以 <!DOCTYPE html> 开头,并包含 <html><head><body> 标签,确保语义清晰和结构完整。

✅ Do this❌ Don't do this
使用 <!DOCTYPE html> 声明 HTML5忘记添加 <!DOCTYPE html> 声明
包含 <head><body> 标签缺少 <head><body> 标签

HTML 标题

HTML 提供了六级标题标签 <h1><h6>,用于表示不同级别的标题内容。

HTML 语法作用预览效果 (描述性)
<h1>一级标题</h1>定义一级标题页面中最主要的标题
<h2>二级标题</h2>定义二级标题次要的标题
<h3>三级标题</h3>定义三级标题更细分的标题
<h4>四级标题</h4>定义四级标题
<h5>五级标题</h5>定义五级标题
<h6>六级标题</h6>定义六级标题

可选语法 (无直接对应,但强调语义化)

虽然可以使用 CSS 来改变标题的显示样式,但应该根据内容的逻辑结构来选择合适的标题标签,而不是仅仅为了改变字体大小而随意使用。

最佳实践

按照内容的逻辑重要性使用标题标签,<h1> 用于最重要的标题,依次递减。

✅ Do this❌ Don't do this
使用 <h1> 作为页面主标题为了加大字体而使用 <h1>,忽略语义化
按照标题层级嵌套使用 (h2h1 下)跳跃使用标题标签 (例如 h1 后直接使用 h4)

HTML 段落

<p> 标签用于定义段落,将文本内容组织成独立的段落块。

HTML 语法作用预览效果 (描述性)
<p>这是一个段落。</p>定义一个段落文本会分段显示
<p>这是第一个句子。<br>这是第二个句子。</p>使用 <br> 换行在段落内换行显示

段落(Paragraph)用法的最佳实践

使用 <p> 标签包裹文本内容,以清晰地划分段落。使用 <br> 标签在段落内进行换行。

✅ Do this❌ Don't do this
使用 <p> 标签组织文本内容依赖换行符或空格来分隔段落
在需要换行的地方使用 <br>为了视觉效果而滥用 <br> 标签

HTML 文本格式化

HTML 提供多种标签用于格式化文本,例如加粗、斜体等。

HTML 语法作用预览效果 (描述性)
<b>加粗文本</b>定义粗体文本文本显示为粗体
<strong>重要文本</strong>定义重要文本文本显示为粗体 (强调语义)
<i>斜体文本</i>定义斜体文本文本显示为斜体
<em>强调文本</em>定义强调文本文本显示为斜体 (强调语义)
<small>小号文本</small>定义小号文本文本显示为较小字号
<mark>标记文本</mark>定义标记文本文本背景高亮显示
<del>删除文本</del>定义删除文本文本带有删除线
<ins>插入文本</ins>定义插入文本文本带有下划线
<sub>下标文本</sub>定义下标文本文本显示为下标
<sup>上标文本</sup>定义上标文本文本显示为上标

文本格式化(Text Formatting)用法的最佳实践

根据语义选择合适的文本格式化标签。<strong><em> 更侧重于语义强调,而 <b><i> 则更多是视觉呈现。

✅ Do this❌ Don't do this
使用 <strong> 标记重要的关键词或句子仅为了加粗而使用 <b>,忽略语义化
使用 <em> 强调需要突出显示的文本使用 <i> 代替 <em> 进行强调

HTML 列表

HTML 提供了有序列表、无序列表和描述列表三种类型的列表。

HTML 语法作用预览效果 (描述性)
<ul><li>项目 1</li><li>项目 2</li></ul>定义无序列表生成带有项目符号的列表
<ol><li>项目 A</li><li>项目 B</li></ol>定义有序列表生成带有数字编号的列表
<dl><dt>术语</dt><dd>描述</dd></dl>定义描述列表生成带有术语和描述的列表
<li></li>定义列表项包含在 <ul><ol>
<dt></dt>定义描述列表中的术语包含在 <dl>
<dd></dd>定义描述列表中术语的描述包含在 <dl>

列表(List)用法的最佳实践

根据信息的组织方式选择合适的列表类型。使用嵌套列表可以清晰地表示层级关系。

✅ Do this❌ Don't do this
使用 <ul> 创建无需特定顺序的项目列表使用段落和 <br> 标签模拟列表
使用 <ol> 创建需要排序的项目列表混淆无序列表和有序列表的使用场景
使用 <dl> 创建术语及其解释的列表在无序或有序列表中尝试模拟描述列表的效果

HTML 链接

<a> 标签用于创建超链接,将用户导向其他网页、文件或同一页面的不同位置。

HTML 语法作用预览效果 (描述性)
<a href="URL">链接文本</a>创建指向 URL 的链接"链接文本"显示为可点击的链接,跳转到 URL
<a href="URL" target="_blank">链接文本</a>在新标签页打开链接点击链接将在新的浏览器标签页中打开
<a href="mailto:邮箱地址">发送邮件</a>创建邮件链接点击链接将打开用户的邮件客户端并填写收件人
<a href="#section">跳转到Section</a>创建内部链接点击链接将滚动到页面中 ID 为 "section" 的元素

链接(Link)用法的最佳实践

为链接添加清晰的链接文本,并根据需要使用 target 属性来控制链接的打开方式。

✅ Do this❌ Don't do this
使用描述性的链接文本 (例如 "了解更多")使用 "点击这里" 等模糊的链接文本
外部链接使用 target="_blank" 在新标签页打开所有链接都强制在新标签页打开,影响用户体验

HTML 图片

<img> 标签用于在网页中嵌入图片。

HTML 语法作用预览效果 (描述性)
<img src="图片URL" alt="图片描述">插入图片在指定位置显示图片
<img src="图片URL" alt="图片描述" width="宽度" height="高度">指定图片尺寸按照指定的宽度和高度显示图片

图片(Image)用法的最佳实践

<img> 标签提供 src 属性指定图片路径,并使用 alt 属性提供图片描述,这对于可访问性和 SEO 非常重要。

✅ Do this❌ Don't do this
为所有 <img> 标签添加 alt 属性忽略 alt 属性,影响可访问性
使用有意义的 alt 文本描述图片内容使用 "图片" 或空 alt 属性
尽量优化图片大小,提高网页加载速度插入过大的图片,导致网页加载缓慢

HTML 代码

HTML 提供了 <code><pre> 标签用于在网页中显示代码。

HTML 语法作用预览效果 (描述性)
<code>行内代码</code>表示行内代码代码以等宽字体显示在文本中
<pre>多行代码</pre>表示预格式化的文本代码块以原始格式显示,保留空格和换行符
<pre><code>带语法的代码</code></pre>显示带语法的代码通常与 JavaScript 库一起使用以进行语法高亮

代码(Code)用法的最佳实践

使用 <code> 标签包裹行内代码,使用 <pre> 标签包裹多行代码块。结合 JavaScript 库可以实现代码语法高亮。

✅ Do this❌ Don't do this
使用 <code> 标签标记行内代码直接在文本中输入代码,导致格式不易区分
使用 <pre> 标签显示多行代码手动使用空格和换行符来模拟代码显示
考虑使用代码高亮库提升代码的可读性在技术文档中直接粘贴未格式化的代码

HTML 语义化标签

HTML5 引入了一些语义化标签,用于更清晰地描述文档的结构和内容,提高可访问性和 SEO。

HTML 语法作用示例
<article></article>表示文档、页面或应用程序中独立的、完整的、可以独立分发或复用的内容一篇博客文章、一篇新闻报道
<aside></aside>表示与周围内容相关但不属于主要内容的辅助信息侧边栏、广告、相关链接
<details></details>表示用户可以展开或收起的内容摘要常见问题解答、产品详情
<figcaption></figcaption>表示 <figure> 元素的标题图片的描述或标题
<figure></figure>表示独立的流内容(图像、图表等),通常带有标题一张图片及其标题
<footer></footer>表示文档或节的页脚版权信息、联系方式
<header></header>表示文档或节的头部网站 Logo、导航菜单
<main></main>表示文档的主要内容网页的主要信息区域
<nav></nav>表示页面的导航链接网站的导航栏
<section></section>表示文档中的一个 тематический 分组内容章节、主题分组
<summary></summary><details> 元素定义一个可见的标题常见问题解答的标题
<time></time>表示日期或时间发布日期、活动时间

语义化标签(Semantic Tags)用法的最佳实践

使用语义化标签来组织 HTML 结构,提高代码的可读性和可维护性,并提升网页的可访问性。

✅ Do this❌ Don't do this
使用 <article> 包裹独立的文章内容使用 <div> 替代所有语义化标签
使用 <nav> 包裹导航链接使用无序列表 <ul> 模拟导航,缺少语义信息
使用 <footer> 标记页脚信息将所有内容都放在 <body> 中,缺乏结构

HTML 元素和属性

HTML 文档由一系列嵌套的元素组成。元素由开始标签、内容和结束标签构成。标签可以拥有属性,提供关于元素的额外信息。

HTML 语法作用示例
<标签名>内容</标签名>定义一个 HTML 元素<p>这是一个段落。</p>
<标签名 属性名="属性值">内容</标签名>带有属性的 HTML 元素<a href="https://example.com">链接</a>
class="类名"定义元素的类名 (用于 CSS 样式)<div class="container"></div>
id="唯一ID"定义元素的唯一 ID (用于 CSS 和 JavaScript)<div id="header"></div>
style="CSS 样式"定义元素的内联样式<p style="color: red;">红色文本</p>

元素和属性(Elements and Attributes)用法的最佳实践

合理使用 HTML 元素和属性来描述网页内容。避免过度使用内联样式,推荐使用外部 CSS 文件来管理样式。

✅ Do this❌ Don't do this
使用合适的 HTML 元素来表达内容语义为了样式效果而滥用 <div><span>
使用 class 属性为元素添加类名,方便 CSS 管理大量使用 id 选择器,提高 CSS 优先级,不易维护
尽量避免使用内联样式,保持 HTML 结构的清晰将所有样式都写在 style 属性中,导致 HTML 臃肿

就是这些基本的标签结构,却能让人优雅地组织你的网页内容,专注于信息的呈现而不是纠结于如何显示,达到“心中有页,落笔成型”的境界。


好的,这次的内容就到这里啦

感谢你的阅读,欢迎点赞、关注、转发

我们,下次再见!


http://www.ppmy.cn/devtools/148966.html

相关文章

H5通过URL Scheme唤醒手机地图APP

1.高德地图 安卓URL Scheme&#xff1a;baidumap:// 官方文档&#xff1a;https://lbs.amap.com/api/amap-mobile/guide/android/navigation IOS URL Scheme&#xff1a;iosamap:// 官方文档&#xff1a;https://lbs.amap.com/api/amap-mobile/guide/ios/navi HarmonyOS NEXT U…

Unity自定义编辑器:基于枚举类型动态显示属性

1.参考链接 2.应用 target并设置多选编辑 添加[CanEditMultipleObjects] using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor;[CustomEditor(typeof(LightsState))] [CanEditMultipleObjects] public class TestInspector :…

C语言——字符函数和内存函数

目录 前言 字符函数 1strlen 模拟实现 2strcpy 模拟实现 3strcat 模拟实现 4strcmp 模拟实现 5strncpy 模拟实现 6strncat 模拟实现 7strncmp 模拟实现 8strstr 模拟实现 9strtok 10strerror 11大小写字符转换函数 内存函数 1memcpy 模拟实现 2…

什么是 ERP?

目录 企业资源计划&#xff08;ERP&#xff09;的定义 ERP与财务管理的区别 ERP基础知识 ERP的业务价值 ERP简史 ERP部署模式&#xff1a;从本地部署到云端 ERP云 — 新的ERP交付模式 迁移至ERP云技术解决方案的7个原因 企业资源计划&#xff08;ERP&#xff09;的定义 …

线程-8-日志_线程池

主要看code 日志&#xff1a; 日志指标/属性 设计模式&#xff1a;策略模式 日志格式&#xff1a; [可读性很好的时间] [⽇志等级] [进程pid] [打印对应⽇志的⽂件名][⾏号] - 消息内容&#xff0c;⽀持可 变参数 [2024-08-04 12:27:03] [DEBUG] [202938] [main.cc] [16] - h…

git 常用命令和本地合并解决冲突

目录 一、常用命令 二、本地可视化合并分支解决冲突 一、常用命令 最近&#xff0c;使用mac电脑&#xff0c;无法直接使用小乌龟进行可视化操作&#xff0c;现在记录一些常用命令。 拉取&#xff1a; git clone <git url> 仅拉起某个单独分支&#xff1a; git clo…

playwright 录制

一、新建项目TestProject3 二、准备swagger 三、开始录制 打开PowerShell 7 (x64) cd D:\xxx\xxx\VS2022Projects\TestProject3\TestProject3\bin\Debug\net8.0 pwsh playwright.ps1 codegen --targetcsharp -b chromium localhost:5252/swagger/index.html #支持的语言 java…

conda快速安装并配置pycharm

1、镜像下载地址 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/2、安装完成后配置环境变量 安装记得all users 配置环境 3、配置镜像 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https…