如何创建一个 HTML5 网站:一份完整指南
创建一个网站主要分为三个核心部分,它们相辅相成:

- HTML (结构):网站的骨架,定义了内容的结构和含义。
- CSS (样式):网站的衣服,负责网站的视觉呈现,如颜色、布局、字体等。
- JavaScript (行为):网站的大脑,负责交互和动态效果,如表单验证、轮播图、动画等。
我们将从最基础的 HTML 开始,逐步添加 CSS 和 JavaScript,最终构建一个简单的、但功能完整的单页网站。
第一步:准备工作
在开始编码之前,你需要准备两样东西:
-
一个代码编辑器
- 强烈推荐:Visual Studio Code (VS Code),它免费、强大、插件丰富,是前端开发者的首选。
- 其他选择:Sublime Text, Atom, Notepad++ (Windows 自带的记事本也可以,但不推荐)。
-
一个浏览器
(图片来源网络,侵删)- 强烈推荐:Google Chrome,它拥有强大的开发者工具,可以让你实时查看和调试代码。
- 其他选择:Firefox, Microsoft Edge, Safari。
第二步:创建基本的项目结构和文件
一个规范的网站项目应该有一个清晰的文件夹结构。
- 在你的电脑上创建一个新的文件夹,命名为
my-first-website(或你喜欢的任何名字)。 - 在
my-first-website文件夹中,创建以下三个文件:index.html(网站的首页)style.css(网站的样式表)script.js(网站的脚本)
你的文件结构现在看起来应该是这样的:
my-first-website/
├── index.html
├── style.css
└── script.js
第三步:编写 HTML 结构 (骨架)
index.html 是我们网站的起点,我们将使用 HTML5 的语义化标签来构建它。
- 用 VS Code 打开
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">我的第一个 HTML5 网站</title>
<!-- 引入 CSS 文件 -->
<link rel="stylesheet" href="style.css">
</head>
<body>
<header>
<h1>欢迎来到我的网站</h1>
<nav>
<ul>
<li><a href="#home">首页</a></li>
<li><a href="#about">关于我</a></li>
<li><a href="#contact">联系方式</a></li>
</ul>
</nav>
</header>
<main>
<section id="home">
<h2>这里是首页</h2>
<p>这是我的第一个使用 HTML5 构建的网站,HTML5 提供了许多强大的语义化标签,让代码更清晰、更易于维护。</p>
</section>
<section id="about">
<h2>关于我</h2>
<p>我是一名前端开发爱好者,正在学习如何构建美观且功能强大的网站。</p>
</section>
<section id="contact">
<h2>联系方式</h2>
<p>如果你想与我联系,请发送邮件至:example@email.com</p>
</section>
</main>
<footer>
<p>© 2025 我的公司. 保留所有权利.</p>
</footer>
<!-- 引入 JavaScript 文件 -->
<script src="script.js"></script>
</body>
</html>
代码解释:
<!DOCTYPE html>:声明这是一个 HTML5 文档。<html lang="zh-CN">:整个文档的根元素,lang属性有助于搜索引擎和屏幕阅读器识别语言。<head>:包含文档的元数据,如标题、字符集、引入的 CSS 和 JS 文件等,这些内容不会直接显示在页面上。<meta charset="UTF-8">:确保网页能正确显示中文等非英文字符。<meta name="viewport" ...>:非常重要! 确保网站在移动设备上有正确的响应式布局。<title>:显示在浏览器标签页上的标题。<link rel="stylesheet" href="style.css">:将我们的 CSS 样式表链接到 HTML 文件。<body>:包含所有在页面上可见的内容。- 语义化标签:
<header>:页面或区域的头部,通常包含 logo、导航等。<nav>:导航链接区域。<main>:页面的主要内容,一个页面通常只有一个<main>。<section>:文档中的一个独立区块,通常有自己的标题。<footer>:页面或区域的底部,通常包含版权信息。
<script src="script.js"></script>:将我们的 JavaScript 脚本链接到 HTML 文件。注意:通常建议将<script>标签放在</body>之前,这样可以确保在脚本执行前,页面的所有元素都已加载完毕。
第四步:添加 CSS 样式 (外观)
现在我们的网站只有文字,非常朴素,我们用 style.css 来美化它。
- 用 VS Code 打开
style.css文件。 - 输入以下 CSS 代码:
/* 全局重置和基础样式 */
* {
margin: 0;
padding: 0;
box-sizing: border-box; /* 盒模型计算方式 */
}
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
line-height: 1.6;
background-color: #f4f4f4;
color: #333;
}
/* 布局容器 */
.container {
width: 80%;
max-width: 1100px;
margin: auto;
overflow: hidden; /* 清除浮动 */
padding: 0 2rem;
}
/* 头部样式 */
header {
background: #333;
color: #fff;
padding: 1rem 0;
border-bottom: #0779e4 3px solid;
}
header h1 {
float: left;
}
header nav ul {
float: right;
list-style: none;
}
header nav ul li {
display: inline; /* 让列表项水平排列 */
}
header nav ul li a {
color: #fff;
text-decoration: none;
padding: 1rem;
display: inline-block;
}
header nav ul li a:hover {
background: #0779e4;
color: #fff;
}
区域 */
main {
padding: 2rem 0;
}
section {
background: #fff;
padding: 2rem;
margin-bottom: 2rem;
border-radius: 5px;
box-shadow: 0 0 10px rgba(0,0,0,0.1);
}
/* 页脚样式 */
footer {
background: #333;
color: #fff;
text-align: center;
padding: 1rem 0;
margin-top: 2rem;
}
代码解释:
* { box-sizing: border-box; }:一个非常重要的 CSS 技巧,它使得元素的width和height属性包含其padding和border,让布局更可控。class="container":我们创建了一个.container类,用于居中内容并限制最大宽度,这是现代网页设计的常见模式。float:一种经典的布局方法,让元素可以向左或向右浮动,使其他内容环绕它,我们用它来让标题和导航并排显示。hover:一个伪类,当鼠标悬停在元素上时触发,我们用它来改变导航链接的背景色。padding,margin,background,color等都是基本的 CSS 属性,用于控制元素的间距、背景和文字颜色。
第五步:添加 JavaScript 交互 (行为)
我们来添加一点动态效果,当用户点击导航链接时,页面会平滑地滚动到对应的部分。
- 用 VS Code 打开
script.js文件。 - 输入以下 JavaScript 代码:
// 等待整个 HTML 文档加载完毕后再执行脚本
document.addEventListener('DOMContentLoaded', () => {
// 获取所有导航链接
const navLinks = document.querySelectorAll('nav a');
// 为每个链接添加点击事件监听器
navLinks.forEach(link => {
link.addEventListener('click', function(e) {
// 阻止默认的跳转行为(页面瞬间跳转)
e.preventDefault();
// 获取目标部分的 ID (从 href 属性中获取,如 "#home")
const targetId = this.getAttribute('href');
// 获取目标部分的 DOM 元素
const targetSection = document.querySelector(targetId);
// 如果找到了目标部分
if (targetSection) {
// 使用 scrollIntoView 方法平滑滚动到目标部分
// behavior: 'smooth' 实现平滑滚动效果
targetSection.scrollIntoView({ behavior: 'smooth' });
}
});
});
});
代码解释:
document.addEventListener('DOMContentLoaded', ...):确保我们的代码在页面所有元素都加载完成后再运行,避免找不到元素。document.querySelectorAll('nav a'):选择nav标签内的所有<a>forEach(link => { ... }):遍历每一个选中的链接。link.addEventListener('click', function(e) { ... }):为每个链接绑定一个点击事件。e.preventDefault():关键一步,阻止了<a>标签默认的“瞬间跳转”行为。this.getAttribute('href'):获取被点击链接的href属性值(#home)。document.querySelector(targetId):根据获取到的 ID 找到页面对应的部分。targetSection.scrollIntoView({ behavior: 'smooth' }):这是现代浏览器提供的 API,可以实现平滑滚动到指定元素的效果。
第六步:在浏览器中查看你的网站
- 打开
my-first-website文件夹。 - 找到
index.html文件。 - 双击
index.html文件,它会在你的默认浏览器中打开。
恭喜!你现在应该能看到一个有基本布局、有样式、并且导航链接可以平滑滚动的完整 HTML5 网站了!
进阶学习建议
你已经成功迈出了第一步!接下来可以探索更多内容:
- 响应式设计:学习如何使用 媒体查询 让你的网站在手机、平板和电脑上都有良好的显示效果。
- 更复杂的 CSS:学习 Flexbox 和 Grid 布局,它们是现代 CSS 布局的标准,比
float更加强大和灵活。 - 更丰富的 JavaScript:学习使用 JavaScript 来操作 DOM(动态修改页面内容)、处理表单、发送网络请求等。
- 使用框架:当你对基础有了很好的理解后,可以学习一些流行的前端框架,如 React, Vue, 或 Angular,它们能帮助你构建更复杂的单页应用。
- 版本控制:学习使用 Git 和 GitHub 来管理你的代码,这对于个人项目和团队协作都至关重要。
祝你学习愉快!
