目录
-
第一部分:基础模板 (静态单页)
(图片来源网络,侵删)- 文件结构
index.html(骨架)style.css(样式)script.js(交互)- 如何运行
-
第二部分:高级模板 (响应式 + 动画)
- 新增功能
- 代码亮点解析
- 最终效果预览
-
第三部分:模板资源库
- 免费模板网站
- UI 组件库
- 图标库
- 图片素材库
第一部分:基础模板 (静态单页)
这个模板包含了网页最核心的三要素,适合初学者理解基本结构。
文件结构
创建一个文件夹,my-website,然后在里面创建以下三个文件:

(图片来源网络,侵删)
my-website/
├── index.html
├── style.css
└── script.js
index.html (网页的骨架)
HTML 定义了网页的内容和结构。
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">我的第一个网页</title>
<!-- 引入 CSS 文件 -->
<link rel="stylesheet" href="style.css">
</head>
<body>
<header>
<h1>欢迎来到我的网站</h1>
<p>这是一个由 HTML, CSS, 和 JavaScript 构建的简单示例。</p>
</header>
<main>
<section id="about">
<h2>关于我</h2>
<p>你好!我是一名前端开发者,我喜欢创造美观且功能强大的网页。</p>
</section>
<section id="portfolio">
<h2>我的作品</h2>
<div class="project">
<h3>项目一:个人博客</h3>
<p>一个使用 React 和 Node.js 构建的个人博客系统。</p>
</div>
<div class="project">
<h3>项目二:在线待办事项</h3>
<p>一个简洁的在线待办事项应用,支持添加、删除和标记完成。</p>
</div>
</section>
<button id="changeColorBtn">改变背景色</button>
</main>
<footer>
<p>© 2025 我的公司. 保留所有权利.</p>
</footer>
<!-- 引入 JavaScript 文件 -->
<!-- 通常放在 body 末尾,以确保所有 HTML 元素都已加载 -->
<script src="script.js"></script>
</body>
</html>
style.css (网页的样式)
CSS 负责网页的视觉表现,如布局、颜色、字体等。
/* 全局样式 */
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
line-height: 1.6;
margin: 0;
padding: 0;
background-color: #f4f4f4;
color: #333;
}
/* 头部样式 */
header {
background: #333;
color: #fff;
text-align: center;
padding: 1rem;
border-bottom: 5px solid #e8491d;
}
区域样式 */
main {
padding: 1rem;
max-width: 800px;
margin: 2rem auto;
background: #fff;
border-radius: 5px;
box-shadow: 0 0 10px rgba(0,0,0,0.1);
}
section {
margin-bottom: 2rem;
}
h2 {
border-bottom: 2px solid #e8491d;
padding-bottom: 0.5rem;
}
/* 项目卡片样式 */
.project {
background: #e9e9e9;
padding: 1rem;
border-left: 5px solid #e8491d;
margin-bottom: 1rem;
}
/* 按钮样式 */
#changeColorBtn {
display: block;
margin: 1rem auto;
padding: 10px 20px;
font-size: 16px;
cursor: pointer;
background-color: #e8491d;
color: white;
border: none;
border-radius: 5px;
transition: background-color 0.3s ease;
}
#changeColorBtn:hover {
background-color: #c23715;
}
/* 页脚样式 */
footer {
text-align: center;
padding: 1rem;
margin-top: 2rem;
background: #333;
color: #fff;
}
script.js (网页的交互)
JavaScript 为网页添加动态行为和交互逻辑。
// 等待整个 HTML 文档加载完毕后执行
document.addEventListener('DOMContentLoaded', function() {
// 获取按钮元素
const changeColorBtn = document.getElementById('changeColorBtn');
// 定义一个颜色数组
const colors = ['#f4f4f4', '#d4f1f4', '#fff2cc', '#d5e8d4', '#e1d5e7'];
let currentColorIndex = 0;
// 为按钮添加点击事件监听器
changeColorBtn.addEventListener('click', function() {
// 切换到下一个颜色
currentColorIndex = (currentColorIndex + 1) % colors.length;
// 改变 body 的背景色
document.body.style.backgroundColor = colors[currentColorIndex];
});
});
如何运行
- 将上述代码分别复制到对应的三个文件中。
- 保存所有文件。
- 找到
index.html文件,用浏览器直接打开它(双击或在文件上右键选择“用 Chrome 打开”等)。
你就能看到一个简单的网页,并且点击按钮可以改变背景色。

(图片来源网络,侵删)
第二部分:高级模板 (响应式 + 动画)
在基础模板上,我们增加响应式布局(适配手机和桌面)和滚动动画效果。
新增功能
- 响应式导航栏:在移动端,导航栏会变成一个汉堡菜单。
- 滚动显示动画:当用户滚动到某个部分时,该部分会平滑地淡入并滑入视野。
- 更现代的视觉设计。
index.html (高级版)
<!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="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
<link rel="stylesheet" href="style.css">
</head>
<body>
<header>
<div class="logo">MyLogo</div>
<nav>
<ul id="nav-links">
<li><a href="#home">首页</a></li>
<li><a href="#about">lt;/a></li>
<li><a href="#portfolio">作品</a></li>
<li><a href="#contact">联系</a></li>
</ul>
<div id="hamburger-icon" class="hamburger">
<i class="fas fa-bars"></i>
</div>
</nav>
</header>
<main>
<section id="home" class="fade-in">
<h1>你好,世界</h1>
<p>这是一个响应式且带有滚动动画的网页模板。</p>
</section>
<section id="about" class="fade-in">
<h2>关于我们</h2>
<p>我们专注于创造卓越的数字体验。</p>
</section>
<section id="portfolio" class="fade-in">
<h2>我们的作品</h2>
<div class="project-card">
<h3>项目 A</h3>
<p>这是一个创新的项目。</p>
</div>
<div class="project-card">
<h3>项目 B</h3>
<p>这是一个获奖的项目。</p>
</div>
</section>
<section id="contact" class="fade-in">
<h2>联系我们</h2>
<p>邮箱: contact@example.com</p>
</section>
</main>
<footer>
<p>© 2025 高级模板. 保留所有权利.</p>
</footer>
<script src="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/js/all.min.js"></script>
<script src="script.js"></script>
</body>
</html>
style.css (高级版)
/* --- 基础和布局重置 --- */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Arial', sans-serif;
line-height: 1.6;
background-color: #ffffff;
color: #333;
}
header {
background: #333;
color: #fff;
padding: 1rem;
display: flex;
justify-content: space-between;
align-items: center;
position: fixed;
width: 100%;
top: 0;
z-index: 1000;
}
.logo {
font-size: 1.5rem;
font-weight: bold;
}
nav ul {
display: flex;
list-style: none;
}
nav ul li {
margin-left: 20px;
}
nav ul li a {
color: #fff;
text-decoration: none;
transition: color 0.3s;
}
nav ul li a:hover {
color: #e8491d;
}
/* --- 汉堡菜单 (移动端) --- */
.hamburger {
display: none; /* 默认隐藏 */
cursor: pointer;
}
.hamburger i {
font-size: 1.5rem;
color: #fff;
}
/* --- 主要内容 --- */
main {
margin-top: 60px; /* 为固定的 header 留出空间 */
padding: 2rem;
}
section {
padding: 4rem 2rem;
margin: 2rem 0;
border-bottom: 1px solid #eee;
text-align: center;
opacity: 0; /* 初始为透明,用于动画 */
transform: translateY(30px); /* 初始位置偏下 */
}
/* --- 滚动动画类 --- */
.fade-in.is-visible {
opacity: 1;
transform: translateY(0);
transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
/* --- 响应式设计 --- */
@media (max-width: 768px) {
header {
flex-direction: column;
text-align: center;
}
nav ul {
flex-direction: column;
width: 100%;
display: none; /* 默认隐藏菜单 */
padding: 0;
}
nav ul.show {
display: block; /* 点击汉堡菜单后显示 */
}
nav ul li {
margin: 10px 0;
}
.hamburger {
display: block; /* 在移动端显示汉堡菜单 */
}
main {
margin-top: 80px; /* 移动端 header 更高 */
}
}
script.js (高级版)
document.addEventListener('DOMContentLoaded', function() {
// 1. 汉堡菜单功能
const hamburgerIcon = document.getElementById('hamburger-icon');
const navLinks = document.getElementById('nav-links');
hamburgerIcon.addEventListener('click', function() {
navLinks.classList.toggle('show');
});
// 2. 滚动显示动画
const faders = document.querySelectorAll('.fade-in');
const appearOptions = {
threshold: 0.1, // 当 10% 的元素可见时触发
rootMargin: "0px 0px -100px 0px" // 在元素进入视口前 100px 就开始检测
};
const appearOnScroll = new IntersectionObserver(function(entries, appearOnScroll) {
entries.forEach(entry => {
if (!entry.isIntersecting) {
return;
} else {
entry.target.classList.add('is-visible');
appearOnScroll.unobserve(entry.target); // 动画播放后停止观察,优化性能
}
});
}, appearOptions);
faders.forEach(fader => {
appearOnScroll.observe(fader);
});
});
第三部分:模板资源库
除了自己写,你也可以使用这些现成的资源来加速开发。
免费模板网站
- ThemeForest: 全球最大的付费模板市场,质量极高,但需要购买。
- HTML5 UP: 提供大量免费、响应式、设计精美的 HTML5 模板,代码质量高,可直接使用。
- BootstrapMade: 提供基于 Bootstrap 框架的免费模板,适合快速构建企业官网。
- CodyHouse: 设计独特,交互体验好,提供许多 UI 组件和页面模板。
UI 组件库
- Bootstrap: 最流行的 CSS 框架,提供了大量预构建的组件(导航栏、按钮、模态框等),开箱即用。
- Tailwind CSS: 一个功能类优先的 CSS 框架,它不提供预制的组件,而是给你所有需要的工具来快速构建自定义设计,非常适合追求设计自由度的开发者。
- Bulma: 另一个轻量级、模块化的 CSS 框架,使用纯 CSS,不依赖 JavaScript。
图标库
- Font Awesome: 最全面的图标库之一,提供数千个免费和付费图标。
- Ionicons: 适合移动端应用的图标库,设计精美。
- Heroicons: 由 Tailwind CSS 团队设计,风格统一,非常现代。
图片素材库
- Unsplash: 高质量的免费摄影图片,艺术感强。
- Pexels: 与 Unsplash 类似,提供大量免费、可商用的照片和视频。
- Pixabay: 除了照片,还提供插画、矢量图和视频。
希望这份详细的指南能帮助你从零开始构建自己的网页!祝你编码愉快!
