教程概述
本教程分为四个主要部分:

- 第一部分:HTML5 基础 - 学习网页的“骨架”,如何构建内容结构。
- 第二部分:CSS3 基础 - 学习网页的“外貌”,如何美化内容和布局。
- 第三部分:实战项目 - 将所学知识整合,动手做一个完整的个人主页。
- 第四部分:进阶与资源 - 推荐学习路径和优质资源,助你持续提升。
第一部分:HTML5 基础 (网页的骨架)
HTML (HyperText Markup Language) 是用来描述网页内容结构的标记语言,HTML5 是其最新版本,引入了许多语义化标签,让代码更清晰、更易于搜索引擎理解。
什么是 HTML?
想象一下盖房子,HTML 就是房子的钢筋水泥结构,它定义了哪里是标题,哪里是段落,哪里是图片,哪里是链接,浏览器(如 Chrome, Firefox)会读取 HTML 代码,并将其渲染成我们看到的网页。
基本语法与结构
一个最基本的 HTML5 文件结构如下:
<!DOCTYPE html> <!-- 声明文档类型,告诉浏览器这是 HTML5 文档 -->
<html lang="zh-CN"> <!-- 整个网页的根元素,lang 属性定义语言 -->
<head>
<!-- head 区域包含网页的元数据,不会直接显示在页面上 -->
<meta charset="UTF-8"> <!-- 定义字符编码,防止中文乱码 -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">我的第一个网页</title> <!-- 网页的标题,显示在浏览器标签页上 -->
</head>
<body>
<!-- body 区域包含所有可见的网页内容 -->
<h1>欢迎来到我的网站</h1>
<p>这是一个段落,用于书写文字内容。</p>
<a href="https://www.google.com" target="_blank">这是一个指向谷歌的链接</a>
<img src="image.jpg" alt="一张图片的描述">
</body>
</html>
常用 HTML5 语义化标签
HTML5 引入了许多语义化标签,让代码更具可读性。
<header>: 页面或区域的头部,通常包含导航、Logo 等。<nav>: 导航链接区域。<main>: 页面的主要内容,一个页面中只应有一个<main>。<article>: 独立的内容块,比如一篇博客文章、一则新闻。<section>: 文档中的一个区域,通常包含一个主题。<aside>: 侧边栏或与主要内容相关但独立的内容,比如广告、相关链接。<footer>: 页面或区域的底部,通常包含版权信息、联系方式等。
示例:
<body>
<header>
<h1>网站标题</h1>
<nav>
<a href="#">首页</a>
<a href="#">关于我们</a>
<a href="#">联系方式</a>
</nav>
</header>
<main>
<article>
<h2>文章标题</h2>
<p>这里是文章的具体内容...</p>
</article>
<aside>
<h3>相关链接</h3>
<ul>
<li><a href="#">链接1</a></li>
<li><a href="#">链接2</a></li>
</ul>
</aside>
</main>
<footer>
<p>© 2025 我的网站. 版权所有.</p>
</footer>
</body>
其他重要标签
- 文本标签:
<h1>-<h6>(标题),<p>(段落),<strong>(强调),<em>(斜体强调),<br>(换行),<hr>(水平线)。 - 列表标签:
- 无序列表:
<ul>(列表) +<li>(列表项) - 有序列表:
<ol>(列表) +<li>(列表项)
- 无序列表:
- 媒体标签:
<img>: 图片,src属性指定图片路径,alt属性提供图片描述(对无障碍访问和图片加载失败时很重要)。<video>: 视频。src指定视频源,controls属性显示播放控件。<audio>: 音频。src指定音频源,controls属性显示播放控件。
第二部分:CSS3 基础 (网页的外衣)
CSS (Cascading Style Sheets) 是用来描述 HTML 元素在屏幕上如何显示的语言,CSS3 是其最新版本,带来了更强大的样式、动画和布局能力。
什么是 CSS?
继续盖房子的比喻,CSS 就是房子的装修、粉刷、家具摆放,它负责颜色、字体、间距、布局等所有视觉效果。
如何引入 CSS?
有三种方式:
-
内联样式 (不推荐): 直接写在 HTML 标签里,只影响单个元素。
<p style="color: blue; font-size: 20px;">这是一段蓝色文字。</p>
-
内部样式表: 在 HTML 文件的
<head>标签里使用<style><head> <style> p { color: red; text-align: center; } </style> </head> -
外部样式表 (最佳实践): 创建一个单独的
.css文件,然后在 HTML 中通过<link>标签引入。<!-- index.html --> <head> <link rel="stylesheet" href="style.css"> </head>/* style.css */ body { font-family: Arial, sans-serif; background-color: #f0f0f0; }
CSS 选择器
选择器是用来告诉浏览器要给哪个 HTML 元素应用样式的。
-
元素选择器: 根据标签名选择。
p { color: green; } -
类选择器: 根据元素的
class属性选择,最常用,前面加一个点 。<p class="highlight">这段文字会高亮显示。</p>
.highlight { background-color: yellow; } -
ID 选择器: 根据元素的
id属性选择,一个页面中id应该是唯一的,前面加一个井号 。<p id="intro">这是介绍文字。</p>
#intro { font-size: 24px; font-weight: bold; } -
后代选择器: 选择嵌套在其他元素内的元素。
nav a { text-decoration: none; } /* 选择 nav 内部的所有 a 标签 */
CSS 盒模型
理解 CSS 盒模型是布局的关键,每个 HTML 元素都可以看作一个盒子,它包含:
- Content (内容): 文本、图片等。
- Padding (内边距): 内容与边框之间的空间。
- Border (边框): 盒子的边。
- Margin (外边距): 盒子与其他元素之间的空间。
常用 CSS 属性
-
文本属性:
color: 文字颜色。font-size: 字体大小。font-family: 字体系列。text-align: 文本对齐方式 (left, center, right)。line-height: 行高。
-
颜色与背景:
background-color: 背景颜色。background-image: 背景图片。opacity: 元素不透明度 (0-1)。
-
布局属性:
display: 控制元素的显示方式 (e.g.,block,inline,flex,grid)。width/height: 宽度和高度。margin/padding: 外边距和内边距。border: 边框。float: 浮动 (传统布局方式,现代布局多用 Flexbox/Grid)。
CSS3 新特性简介
- 圆角:
border-radius.box { border-radius: 10px; } - 阴影:
box-shadow.box { box-shadow: 5px 5px 10px rgba(0,0,0,0.3); } - 渐变:
linear-gradient,radial-gradientbody { background: linear-gradient(to right, #ff7e5f, #feb47b); } - Flexbox 弹性布局: 一维布局模型,非常适合实现水平/垂直居中、平均分配空间等复杂布局。
.container { display: flex; justify-content: center; /* 水平居中 */ align-items: center; /* 垂直居中 */ } - Grid 网格布局: 二维布局模型,非常适合构建复杂的页面整体布局。
第三部分:实战项目 - 个人主页
让我们动手做一个简单的个人主页,将 HTML5 和 CSS3 结合起来。
步骤 1: 创建文件结构
在你的项目文件夹中创建两个文件:
index.htmlstyle.css
步骤 2: 编写 HTML 代码 (index.html)
使用我们学到的 HTML5 语义化标签来构建结构。
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">张三的个人主页</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<header>
<div class="profile">
<img src="https://via.placeholder.com/150" alt="张三的头像">
<h1>张三</h1>
<p>前端开发爱好者</p>
</div>
<nav>
<ul>
<li><a href="#about">关于我</a></li>
<li><a href="#skills">技能</a></li>
<li><a href="#contact">联系我</a></li>
</ul>
</nav>
</header>
<main>
<section id="about">
<h2>关于我</h2>
<p>你好!我叫张三,我是一名充满热情的前端开发学习者,我热爱创造美观且用户友好的网页,并致力于用代码构建出色的网络体验。</p>
</section>
<section id="skills">
<h2>我的技能</h2>
<ul>
<li>HTML5</li>
<li>CSS3</li>
<li>JavaScript (学习中...)</li>
<li>响应式设计</li>
</ul>
</section>
<section id="contact">
<h2>联系我</h2>
<p>如果你想与我交流,欢迎发送邮件至: <a href="mailto:zhangsan@example.com">zhangsan@example.com</a></p>
</section>
</main>
<footer>
<p>© 2025 张三的个人主页. All rights reserved.</p>
</footer>
</body>
</html>
步骤 3: 编写 CSS 代码 (style.css)
让我们用 CSS 来美化这个页面。
/* 全局样式 */
body {
font-family: 'Helvetica Neue', Arial, sans-serif;
line-height: 1.6;
margin: 0;
background-color: #f4f4f4;
color: #333;
}
/* 头部样式 */
header {
background: #333;
color: #fff;
padding: 1rem 0;
text-align: center;
}
header .profile img {
border-radius: 50%;
border: 5px solid #fff;
margin-bottom: 10px;
}
header h1 {
margin: 0;
}
header nav ul {
list-style: none;
padding: 0;
margin: 20px 0 0 0;
}
header nav ul li {
display: inline;
margin: 0 15px;
}
header nav a {
color: #fff;
text-decoration: none;
font-weight: bold;
}
header nav a:hover {
text-decoration: underline;
}
区域 */
main {
max-width: 800px;
margin: 20px auto;
padding: 20px;
background: #fff;
border-radius: 8px;
box-shadow: 0 0 15px rgba(0,0,0,0.1);
}
section {
margin-bottom: 30px;
}
section h2 {
border-bottom: 2px solid #333;
padding-bottom: 10px;
}
/* 页脚样式 */
footer {
text-align: center;
padding: 20px;
margin-top: 20px;
background: #333;
color: #fff;
}
步骤 4: 查看效果
用浏览器打开 index.html 文件,你应该能看到一个结构清晰、样式美观的个人主页了!
第四部分:进阶与资源
恭喜你!你已经掌握了 HTML5 和 CSS3 的基础知识,但这只是开始,前端的世界非常广阔。
下一步学什么?
-
响应式设计:
- 核心: 学习媒体查询 (
@media),这是让你的网页在不同设备(手机、平板、桌面)上都能良好显示的关键。 - 实践: 在你的 CSS 中添加类似下面的代码,尝试在浏览器中缩放窗口看效果。
@media (max-width: 600px) { header nav ul li { display: block; /* 在小屏幕上,导航项垂直排列 */ margin: 5px 0; } }
- 核心: 学习媒体查询 (
-
CSS 布局进阶:
- Flexbox: 深入学习弹性布局,它是现代一维布局的利器。
- CSS Grid: 深入学习网格布局,它是现代二维布局的王者。
-
JavaScript:
这是网页的“行为”层,负责实现交互功能,比如点击按钮、弹出提示、动态更新内容等,HTML + CSS + JavaScript 是前端开发的“铁三角”。
推荐学习资源
-
MDN Web Docs (Mozilla Developer Network):
- 网址: https://developer.mozilla.org/zh-CN/
- 特点: 最权威、最全面的 Web 技术文档,是每个开发者的必备工具书,HTML 和 CSS 的教程写得非常棒。
-
W3Schools:
- 网址: https://www.w3schools.com/
- 特点: 非常适合初学者,有大量的在线实例,可以即时修改代码并查看结果。
-
菜鸟教程:
- 网址: https://www.runoob.com/
- 特点: 中文教程,内容覆盖面广,适合快速入门和查阅。
-
Codecademy / freeCodeCamp:
- 特点: 交互式在线学习平台,通过动手编码来学习,非常有乐趣。
-
YouTube 频道:
- Traversy Media: 教程质量高,实战项目多。
- The Net Ninja: 视频系列化,讲解清晰,非常适合跟学。
实践建议
- 多动手: 不要只看不练,教程看懂了,自己重新敲一遍,然后尝试修改、添加新功能。
- 多模仿: 看到喜欢的网站,尝试用 HTML 和 CSS 去模仿它的布局和样式。
- 多看优秀代码: 在 GitHub 上找一些开源的前端项目,阅读别人的代码,学习他们的架构和写法。
- 建立作品集: 将你做过的项目整理起来,放到 GitHub Pages 或其他平台上,这会是你求职时最好的名片。
祝你学习愉快,早日成为前端大神!
