# HTML / CSS 布局体系 ::: tip 🎯 核心问题 **网页是怎么做出来的?为什么有的网页只有文字,有的却像应用一样可以交互?** 这个问题会引出 Web 开发的三大基石,让你理解每一个网页背后的结构。 ::: --- ## 1. HTML、CSS、JavaScript 分别是什么? ### 1.1 从静态网页到动态应用 想象一下你在街上看到的**海报**。你只能看,不能互动——海报不会因为你看了就改变内容,也不会因为你点了某个地方就弹出更多信息。 早期的网页就是这样的"电子海报":只能看、不能改、内容固定。 但现代网页完全不同了。它们像**桌面应用**一样: - 你可以点击、拖拽、输入、上传 - 页面会根据你的操作实时变化 - 可以像软件一样完成复杂任务(比如在线视频剪辑) **这种转变的核心原因,就是网页技术的三大基石:HTML + CSS + JavaScript**。 ### 1.2 一个比喻:盖房子 | 技术 | 🏠 房子比喻 | 实际作用 | 具体例子 | | -------------- | ------------------------ | -------------------- | ------------------------------------ | | **HTML** | 房子的**结构和材料** | 定义网页的内容和层级 | 这是一面墙、这是一扇窗、这是一个房间 | | **CSS** | 房子的**装修和外观** | 控制网页的样式和布局 | 墙刷成蓝色、窗户放在东边、地板铺瓷砖 | | **JavaScript** | 房子的**电器和智能系统** | 让网页具备交互和逻辑 | 按开关灯亮了、开门窗帘自动拉开 | ::: tip 💡 三者的关系 **HTML → CSS**:先有房子,才能装修。HTML 是基础,CSS 是美化。 **HTML + CSS → JavaScript**:先有房子和装修,才能装智能系统。JavaScript 会让"死"的页面变"活"。 **核心思想**:三者各司其职,缺一不可。只有 HTML 的页面很丑,只有 HTML+CSS 的页面不能互动,三者齐全才能做出像微信网页版、淘宝这样的"Web 应用"。 ::: ### 1.3 动手试试看 👇 下面这个演示展示了 HTML/CSS/JavaScript 三者如何协作: --- ## 2. HTML:网页的骨架 ### 2.1 为什么需要 HTML? 在 HTML 出现之前,互联网上的内容只是**纯文本**。就像你现在看的这段文字,没有任何格式、没有层级、没有链接。 纯文本的问题是什么? - ❌ **无法表达层级**:分不清哪是标题、哪是正文、哪是注释 - ❌ **机器看不懂**:搜索引擎、屏幕阅读器(盲人用)无法理解内容 - ❌ **无法交互**:没有链接、没有按钮、没有输入框 **HTML (HyperText Markup Language)** 就是为了解决这个问题诞生的。它用"标签"(tag)来标记内容的含义,让浏览器知道"这是什么"。 ### 2.2 HTML 代码长什么样? HTML 的基本单位是"标签"(tag)。标签用尖括号 `< >` 包裹,成对出现: ```html

这是标题

这是段落

这是链接 ``` **关键概念**: | 概念 | 解释 | 例子 | |------|------|------| | **标签** | 用尖括号包裹的标记 | `

`、`

` | | **元素** | 标签 + 内容的整体 | `

标题

` | | **属性** | 标签上的附加信息 | `href="url"`、`class="card"` | | **嵌套** | 标签里再放标签 | `

文字

` | ### 2.3 如何看懂 HTML 代码? ::: tip 🎯 零基础必读:看代码的方法 很多新手看到一堆 `` 就晕了。其实看 HTML 代码有**固定套路**: **第一步:找"最外层"** ```html
← 这是容器,里面装着内容

标题

描述文字

``` **第二步:看标签名猜含义** | 标签名 | 一眼记住 | 里面放什么 | |--------|----------|------------| | `
` | 大盒子 | 任何内容,用来分组 | | `` | 小盒子 | 文字片段,用来标记 | | `

` | 段落 | 一段文字 | | `

`-`

` | 标题 | 标题文字,数字越小越重要 | | `` | 锚点/链接 | 可点击跳转的内容 | | `` | 图片 | 不放内容,用 src 指向图片 | | ` ``` **语义化标签**(HTML5 新增,让页面含义更明确): ```html
页面头部
主要内容区
一篇文章
页脚
``` ::: tip 💡 为什么要用语义化标签? `
` 和 `
` 看起来效果一样,为什么要用后者? 1. **SEO 友好**:搜索引擎能更好理解页面结构 2. **可访问性**:屏幕阅读器能快速定位"导航""主要内容"等区域 3. **代码可读性**:看到 `
` 一眼就知道是头部 **什么时候用 div?** 当没有合适的语义标签时。比如一个纯装饰性的容器。 ::: ### 2.5 如何记住这么多 HTML 标签? ::: tip 🎯 新手困惑 "HTML 标签有一百多个,怎么记得住?" **答案是:不需要全部记住。** 实际开发中,90% 的情况只用 20 个左右的标签。 ::: #### 按用途分类记忆 **一、页面结构类(画骨架)** | 标签 | 记忆口诀 | 用途 | |------|----------|------| | `
` | 头 | 页面或区块的头部 | | `