【白话前端 09】HTML网页结构搭建:从语义化标签到整站规划

早期写网页,前端只有一个容器标签可用:<div>

结果就是页面里堆叠了几百个 <div>。人眼能通过 CSS 样式看出哪里是头部、哪里是侧边栏。但对于搜索引擎爬虫、或是视障者的屏幕阅读器来说,这只是一坨没有主次的文本碎片。机器根本不知道 <div> 这几个英文字母代表核心内容。

HTML5 引入 <header><main> 等语义化标签,本质不是为了给页面换个长相,而是给网页写一份“机器能看懂的结构说明书”

当把核心代码放进 <main>,把底部备案信息扔进 <footer>,爬虫一进来就明确知道:“抓取有效信息直接去 <main> 里找,底部的东西可以直接跳过。”这就是语义化的底层价值。

本文不背概念,直接以一个常见的博客设计稿为例,看我们该如何用这套标签把内容塞进正确的“房间”里。


一、网页的 5 个固定组件

再复杂的网站(比如电商、博客),核心结构都逃不出这 5 个固定组件。就像一套房子的“客厅、卧室、厨房”,功能是定死的:

结构组件对应标签作用页面出现次数(通常)
头部<header>放网站 Logo、大标题、全局搜索框。1 次(每个页面顶部都一样)
导航<nav>放全局首要链接(首页、分类、关于我们)。1 次(常紧挨着头部)
主内容<main>页面独占的核心内容(文章正文、商品详情)。仅 1 次(这是用户来页面的目的)
侧边栏<aside>辅助内容(作者简介、相关推荐、广告)。可多次(依附主内容存在)
底部<footer>网站补充信息(版权声明、备案号、联系方式)。1 次(每个页面底部都一样)

拿到设计稿,第一步就是用这 5 个框,把图纸划分清楚。


二、HTML 标签实战映射(页面级)

我们先看“整个页面只有一份”的三个核心骨架标签。

1. <main>:一切为了核心内容

main 是页面的绝对主角。用户打开这篇网页为了看什么,什么就放在 <main> 里。

💡 核心定律:一个页面只能有 1 个 <main> 且必须可见。绝对不能把它嵌套在 <header><nav><footer> 里面。
<!-- 错误:放了两个主角 --><main>文章摘要1</main><main>文章摘要2</main><!-- 正确:所有文章被包裹在一个主角内 --><main><h1>今天的天气</h1><p>北京今天晴,气温15-25℃...</p></main>

2. <header><footer>:门面与收尾

<header> 放全局性的标识;<footer> 放全局的补充说明。它们通常在每个页面(首页、文章页、关于页)都保持相同的代码。

<body><header><img src="logo.png"alt="我的博客logo"><h1>小A的技术博客</h1></header><main><!-- 这里放每一页不一样的内容 --></main><footer><p>©2025 小A的博客 | 备案号:京ICP备123456号</p></footer></body>

三、文章与章节(内容级标签判断)

大框架搭好后,我们进入 <main> 的内部。这里是新手最容易犯迷糊的地方:到底什么时候用 <article>,什么时候用 <section>

1. <article>:独立成册的“小黄书”

<article> 代表一段完全独立的内容。

📖 独立性判断
判断标准:把这部分内容单独复制下来,发到另一个网站去,它还是一篇完整、能看懂的东西吗? 如果能,就用 <article>

一篇完整的博客文章、论坛里的一个主帖、一个商品介绍卡片,都属于 <article>

<main><!-- 首页的文章列表,每篇文章都是独立的 --><article><h2>如何搭一个简单的HTML页面</h2><p>第一步:创建.html文件...</p></article><article><h2>CSS 基础入门</h2><p>把网页变好看的秘密...</p></article></main>

2. <section>:书里的“第 X 章”

<section> 代表具有相同主题的内容分组。它不是独立的文章,而是文章里的一个“章节”。

💡 核心定律<section> 通常必须带有一个标题(<h1>-<h6>)。如果没有标题,说明这段内容不具备主题分组的资格,可能只是一个普通的 <div>
<article><h2>HTML结构入门</h2><!-- 第一节内容 --><section><h3>1. 什么是HTML结构</h3><p>就是网页的骨架...</p></section><!-- 第二节内容 --><section><h3>2. 核心标签有哪些</h3><p>有header、nav、main...</p></section></article>

四、被滥用的 <nav><aside>

1. <nav>:只留给“主干道”

不要看到链接就加 <nav>。文章底部的“上一篇/下一篇”链接、正文里的外部参考链接,都不配用 <nav>
<nav> 是站点的主导航器

🛠️ 正确做法:通常将 <ul> 列表放在 <nav> 中,确保语义极其清晰。
<nav><ul><li><a href="index.html">首页</a></li><li><a href="about.html">关于我</a></li></ul></nav>

2. <aside>:正文的跟班

<aside> 里面的内容如果被删掉,绝对不能影响主内容的阅读理解。
最经典的场景就是侧边栏的“作者简介”、“相关猜你喜欢”、“广告位”。

<main><article><!-- 主文章 --></article><aside><h3>相关文章推荐</h3><ul><li><a href="#">上周去爬山</a></li></ul></aside></main>

五、无语义元素的归宿:<div><span>

如果你手上的内容,套不上前面说的任何一个“带名字的房间”,这时候才轮到万能的容器出场。
记住,它们没有任何语义,在机器眼里就是透明容器,仅为了方便 CSS 挂载样式。

  • <div>(大箱子):独占一行。用于包裹无主题的块级内容(如一个用来做动画的遮罩层、一个复杂的购物车弹窗框)。
  • <span>(小贴纸):不独占一行。用于包裹文字里的一小段,方便给这几个字单独上色。
<p> 今天气温<span class="high-temp">25℃</span>,比昨天高了。 </p><!-- 纯为了排版控制布局而存在的壳子,用 div并起好名字 --><div class="banner-wrapper"><img src="ad.jpg"></div>
🧠 10秒速记指南页面唯一主角定生死: <main>。能单独转发给别人的内容块:<article>。带小标题的内容区域/章节:<section>。为了加 CSS 样式而设置的透明大盒子:<div>

➡️ 下期预告
骨架搭好了,但网页还像一座座无法互通的信息孤岛。怎么让页面之间能够自由跳转、一键下载文件、甚至直接弹出邮件草稿?下一篇文章《HTML超链接从入门到精通》,带你掌握Web真正的灵魂——<a>标签!

Read more

大学生AI写作工具全流程应用指南(从开题到答辩)

说明:本清单按论文写作时间线划分6个核心阶段,明确各阶段工具搭配、操作要点及注意事项,可直接对照执行,兼顾效率与学术合规性。 阶段1:开题阶段(核心目标:确定选题+完成开题报告) 工具搭配:豆包AI + PaperRed 操作步骤: 1. 选题构思:打开豆包AI,输入“XX专业(如汉语言文学)本科论文选题方向”,获取5-8套开题思路;同时用PaperRed的“学术热点图谱”功能,输入核心关键词,查看近3年文献增长趋势与研究空白区,筛选出兼具可行性与创新性的选题。 2. 框架及内容生成:在PaperRed中选择“开题报告”,输入确定的选题,选择自己学校的模板,生成包含“研究背景、目的意义、研究方法、进度安排”的标准框架及内容并且格式也是调整好的,生成基础内容后人工优化,确保逻辑连贯。 注意事项:选题需结合自身专业基础,避免过度依赖AI选择超出能力范围的课题。 阶段2:文献搜集与梳理阶段(核心目标:高效获取权威文献+

AI支持下的高水平学术论文写作:从前沿选题挖掘、智能写作工程、顶刊图表可视化、到精准选刊投稿与审稿博弈策略

AI支持下的高水平学术论文写作:从前沿选题挖掘、智能写作工程、顶刊图表可视化、到精准选刊投稿与审稿博弈策略

SCI论文写作是科学研究成果传播和学术交流的重要途径,不仅是研究者展示创新性和学术贡献的核心方式,也是提升个人学术影响力和职业发展的关键手段。你是否经历以下阶段:文献不知如何检索和管理?文献越读越多,却不知道下一步做什么?想法很多,却始终落不到一篇完整的论文?软件装了一堆,科研效率却没有本质提升?AI用过,但始终停留在“翻译+润色”的初级阶段?在AI时代,顶级科研者正在做的,已不只是“翻译和润色”,而是构建属于自己的科研第二大脑。本课程对SCI论文从准备到投稿全流程进行讲解,帮你搭建一条从文献→想法→写作→投稿→审稿的全流程清晰可复制的路径,通过顶刊逻辑×AI赋能×可复制科研能力,三个纬度提升SCI论文的写作效率和投稿命中率。 SCI论文写作是科学研究成果传播和学术交流的重要途径,不仅是研究者展示创新性和学术贡献的核心方式,也是提升个人学术影响力和职业发展的关键手段。你是否经历以下阶段:文献不知如何检索和管理?文献越读越多,却不知道下一步做什么?想法很多,却始终落不到一篇完整的论文?软件装了一堆,科研效率却没有本质提升?AI用过,但始终停留在“翻译+润色”的初级阶段?在AI时代,顶级

LLaMA-Factory微调(LoRA)Qwen2.5实战

为什么要微调(LoRA方法)Qwen2.5通用大模型?         微调后可让Qwen2.5在某些领域更专业化,例如使Qwen2.5更拟人、更温柔、语调生动。 LLaMA-Factory概述         LLaMA-Factory 是目前公认最好用、门槛最低的开源微调工具。它把复杂的代码封装成了可视化的界面,让你像填表一样就能训练模型。。它的核心目标是让普通开发者和研究者也能在消费级显卡(如 4090)上轻松微调千亿参数的大模型。         它的核心优势: 1. 零代码 WebUI:它提供了一个网页界面(如上图),你只需要在下拉菜单里选模型、选数据集、填参数,点“开始”就行,不用写一行 Python 代码。 2. 全能支持: * 模型:支持几乎所有主流模型(Llama 3, Qwen, Baichuan, ChatGLM, Mistral, Gemma, DeepSeek 等)。 * 方法:支持

拥抱开源生态:Llama-Factory统一接口简化多模型管理

拥抱开源生态:Llama-Factory统一接口简化多模型管理 在大语言模型(LLM)迅速渗透各行各业的今天,从智能客服到代码生成、从知识问答到个性化推荐,定制化模型已成为提升业务竞争力的关键手段。然而,现实却并不总是理想——尽管 Hugging Face 上已有成千上万的开源模型,真正能“拿来即用”的少之又少。每个主流架构——LLaMA、Qwen、ChatGLM、Baichuan——都有各自的加载方式、Tokenizer 规则和微调习惯,开发者往往需要为不同模型重写训练脚本、反复调试环境依赖,甚至因为显存不足而被迫放弃更大规模的尝试。 这正是 Llama-Factory 的价值所在。它不只是一款工具,更像是一个“翻译器”与“加速器”的结合体:将五花八门的大模型纳入同一套操作体系,让开发者无需深陷底层细节,就能高效完成从数据准备到部署上线的全流程任务。 统一接口如何打破模型壁垒? 想象一下这样的场景:你正在评估 Qwen-7B 和 LLaMA-3-8B 哪个更适合你的企业知识库问答系统。传统做法是分别克隆两个项目的代码仓库,阅读文档,配置不同的依赖项,