Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

前端概述:网页是怎么“画“出来的?

方法论:不求精通,但求能跑。先看懂结构,再让 AI 帮你写。

前端三件套


📖 本节目标

学完本节,你将理解:

  • ✅ 前端是什么,干什么用
  • ✅ HTML、CSS、JavaScript 分别是什么
  • ✅ 它们如何配合工作
  • ✅ 如何动手运行第一个网页

预计用时:20 分钟


1. 前端是什么?

一句话解释

前端 = 你在浏览器里看到的一切

打开任何网站(淘宝、微信、B站),你看到的:

  • 页面布局
  • 按钮、图片、文字
  • 点击后的动画效果

这些都是前端负责的。

前端 vs 后端

前端后端
用户能看到的界面用户看不到的逻辑
在浏览器运行在服务器运行
HTML/CSS/JSPython/Java/Go
负责“长什么样“负责“数据从哪来“

类比:

  • 前端 = 餐厅的装修和菜单
  • 后端 = 厨房和厨师

2. 前端三件套

2.1 HTML = 骨架

HTML(超文本标记语言) 决定页面有什么内容

<!-- 这是一个简单的 HTML 结构 -->
<div>
  <h1>欢迎来到我的网站</h1>
  <p>这是一段介绍文字</p>
  <button>点击我</button>
</div>

常见标签:

标签作用例子
<div>容器,装东西整个卡片
<h1>~<h6>标题页面大标题
<p>段落正文内容
<button>按钮提交按钮
<img>图片商品图
<a>链接跳转其他页面
<input>输入框搜索框、表单

记住:HTML 只管“有什么“,不管“好不好看“。


2.2 CSS = 皮肤

CSS(层叠样式表) 决定页面长什么样

/* 这是 CSS 样式 */
.card {
  background: white;      /* 背景色 */
  padding: 20px;          /* 内边距 */
  border-radius: 8px;     /* 圆角 */
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);  /* 阴影 */
}

.title {
  font-size: 24px;        /* 字号 */
  color: #333;            /* 颜色 */
  font-weight: bold;      /* 加粗 */
}

CSS 盒子模型(重要!)

padding(内边距) vs margin(外边距) 的区别:

想象一个快递盒子📦:

┌─────────────────────────────┐
│   margin(外边距)              │  ← 盒子和其他盒子之间的距离
│   ┌─────────────────────┐  │
│   │ border(边框)         │  │  ← 盒子的边
│   │ ┌─────────────────┐ │  │
│   │ │ padding(内边距) │ │  │  ← 边框到内容的距离
│   │ │ ┌─────────────┐ │ │  │
│   │ │ │   内容区    │ │ │  │  ← 文字、图片等
│   │ │ │ (content)   │ │ │  │
│   │ │ └─────────────┘ │ │  │
│   │ └─────────────────┘ │  │
│   └─────────────────────┘  │
└─────────────────────────────┘

通俗理解:

  • padding(内边距) = 快递盒里面的泡沫(保护里面的东西不被挤到边框)
  • margin(外边距) = 盒子和盒子之间要留的空隙(别挤在一起)

常用属性:

属性作用常用值
color文字颜色#333, red
background背景white, #f5f5f5
font-size字号16px, 1.5rem
padding内边距(盒子内部留白)10px, 20px
margin外边距(盒子外部留白)10px, auto
border-radius圆角4px, 50%
display布局方式flex, grid

记住:CSS 只管“好不好看“,不管“能不能动“。


2.3 JavaScript = 肌肉

JavaScript(JS) 决定页面能做什么

// 点击按钮后弹出提示
function handleClick() {
  alert('你点击了按钮!')
}

// 修改页面内容
document.getElementById('title').innerText = '新标题'

Vibe Coding 提示:作为 Vibe Coder,你不需要完全看懂这些 JS 代码。你只需要知道:

  • function handleClick() = 定义一个“点击后要做的事“
  • alert() = 弹出提示框
  • document.getElementById() = 找到页面上的某个元素并修改它

具体怎么写?交给 AI!你只要能看出来“这段代码是干嘛的“就够了。

常见用途:

功能例子
响应用户操作点击按钮、提交表单
修改页面内容显示/隐藏元素、更新文字
网络请求从服务器获取数据
动画效果轮播图、弹窗
表单验证检查邮箱格式、密码强度

记住:JavaScript 让页面“活“起来。


3. 三件套如何配合?

一个完整的例子

<!-- HTML:结构 -->
<div class="card">
  <h1 class="title">商品名称</h1>
  <p class="price">¥99</p>
  <button onclick="addToCart()">加入购物车</button>
</div>

<style>
/* CSS:样式 */
.card {
  background: white;
  padding: 20px;
  border-radius: 8px;
}
.title {
  font-size: 18px;
  color: #333;
}
.price {
  color: #ff4d4f;
  font-size: 24px;
}
button {
  background: #1890ff;
  color: white;
  padding: 10px 20px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}
</style>

<script>
// JavaScript:交互
function addToCart() {
  alert('已加入购物车!')
}
</script>

职责分工

HTML  → 定义了:一个卡片、标题、价格、按钮
CSS   → 决定了:白色背景、圆角、蓝色按钮
JS    → 实现了:点击按钮弹出提示

4. 动手试一试!

4.1 运行你的第一个网页

终于可以动手了! 让我们把上面那个“购物车“例子跑起来看看效果。

步骤 1:打开 VS Code(或任何文本编辑器)

步骤 2:新建一个文件,命名为 test.html(注意后缀是 .html)

步骤 3:复制下面的完整代码,粘贴进去,保存

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <title>我的第一个网页</title>
  <style>
    body {
      font-family: Arial, sans-serif;
      padding: 40px;
      background: #f5f5f5;
    }
    .card {
      background: white;
      padding: 20px;
      border-radius: 8px;
      max-width: 300px;
      box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    }
    .title {
      font-size: 20px;
      color: #333;
      margin-bottom: 10px;
    }
    .price {
      color: #ff4d4f;
      font-size: 28px;
      font-weight: bold;
      margin-bottom: 20px;
    }
    button {
      background: #1890ff;
      color: white;
      padding: 12px 24px;
      border: none;
      border-radius: 4px;
      cursor: pointer;
      width: 100%;
      font-size: 16px;
    }
    button:hover {
      background: #096dd9;
    }
  </style>
</head>
<body>
  <div class="card">
    <div class="title">iPhone 15 Pro</div>
    <div class="price">¥8999</div>
    <button onclick="addToCart()">加入购物车</button>
  </div>

  <script>
    function addToCart() {
      alert('恭喜!已成功加入购物车!🎉')
    }
  </script>
</body>
</html>

步骤 4:找到这个 test.html 文件,双击打开(会用浏览器打开)

步骤 5:点击“加入购物车“按钮,看到弹窗了吗?🎉

成就解锁! 你已经成功运行了你的第一个网页!虽然简单,但麻雀虽小五脏俱全——HTML、CSS、JS 三件套全都用上了。

4.2 试试修改样式

现在你可以试试改点东西,比如:

改颜色:

button {
  background: #52c41a;  /* 把蓝色改成绿色 */
}

改价格:

<div class="price">¥6999</div>  <!-- 改个便宜点的价格 -->

改提示文字:

alert('太好了!商品已加入购物车!🛒')

每次修改后,保存文件,刷新浏览器页面(按 F5),就能看到效果!


5. 现代前端开发

为什么不一直写 HTML 文件?

你可能会想:“既然 HTML 文件这么简单,为啥还要学框架?”

原因:

问题例子
代码难以复用10 个页面都要复制粘贴同样的导航栏代码
项目大了难维护改个按钮颜色,要改 50 个文件
没有组件化概念不能像搭积木一样组装页面

所以出现了前端框架:

框架特点适合场景
React组件化、生态最大中大型项目
Vue易上手、中文文档好中小型项目
Angular企业级、功能全面大型企业项目

我们的选择:Next.js

类比:

  • 写 HTML/CSS/JS = 从面粉、肉、菜开始做菜(累且慢)
  • 用 Next.js = 用预制菜/料理包(配好料,下锅就能吃)

Next.js = React + 很多开箱即用的功能

  • 文件即路由(不用配置,创建文件就是创建页面)
  • 自动优化(不用操心性能,框架自动帮你做好)
  • Vercel 一键部署(免费且简单,几分钟上线)
  • AI 最熟悉(GitHub 代码最多,AI 生成质量最高)

6. Vibe Coding 视角

你需要记住的

作为 Vibe Coder,你不需要:

  • ❌ 背诵所有 HTML 标签
  • ❌ 精通 CSS 所有属性
  • ❌ 手写复杂 JavaScript

需要:

  • ✅ 理解三件套的分工
  • ✅ 能看懂 AI 生成的代码
  • ✅ 知道哪里出了问题该问什么

遇到问题怎么办?

场景 1:页面内容不对 → 检查 HTML,看标签和文字

场景 2:样式不对(颜色、大小、位置) → 检查 CSS,或问 AI:“这个按钮怎么改成红色?”

场景 3:点击没反应 → 检查 JavaScript,或问 AI:“点击按钮后怎么跳转页面?”

如何向 AI 提问(实用技巧)

问法 1:直接粘贴代码+说需求

[粘贴你的代码]

这个按钮我想改成圆角的,而且鼠标悬停时变成深蓝色,怎么改?

问法 2:描述效果

我想做一个卡片,白色背景,有圆角和阴影,里面有标题、价格和按钮。
用 HTML 和 CSS 帮我写一下。

问法 3:报错求助

我的按钮点击没反应,代码是:
[粘贴代码]

帮我看看哪里错了。

Vibe Coding 核心:不会写代码没关系,会“说人话“描述需求就够了。AI 会把你的需求翻译成代码。


📝 小结

技术比喻职责
HTML骨架页面有什么内容
CSS皮肤页面长什么样
JavaScript肌肉页面能做什么

核心理解:

  1. 前端 = 浏览器里看到的一切
  2. 三件套各司其职,缺一不可
  3. 小项目可以直接写 HTML 文件练手
  4. 真正做项目用框架(React/Next.js)提高效率
  5. Vibe Coding 重点是理解结构,让 AI 帮你写代码

📚 下一步

👉 Next.js 快速入门

学习如何用 Next.js 创建你的第一个项目(告别单个 HTML 文件,开始真正的前端开发)。

返回 前端开发基础 查看完整目录。