目录

  1. 第一部分:基础模板 (静态单页)

    htmlcssjs网页模板
    (图片来源网络,侵删)
    • 文件结构
    • index.html (骨架)
    • style.css (样式)
    • script.js (交互)
    • 如何运行
  2. 第二部分:高级模板 (响应式 + 动画)

    • 新增功能
    • 代码亮点解析
    • 最终效果预览
  3. 第三部分:模板资源库

    • 免费模板网站
    • UI 组件库
    • 图标库
    • 图片素材库

第一部分:基础模板 (静态单页)

这个模板包含了网页最核心的三要素,适合初学者理解基本结构。

文件结构

创建一个文件夹,my-website,然后在里面创建以下三个文件:

htmlcssjs网页模板
(图片来源网络,侵删)
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>&copy; 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];
    });
});

如何运行

  1. 将上述代码分别复制到对应的三个文件中。
  2. 保存所有文件。
  3. 找到 index.html 文件,用浏览器直接打开它(双击或在文件上右键选择“用 Chrome 打开”等)。

你就能看到一个简单的网页,并且点击按钮可以改变背景色。

htmlcssjs网页模板
(图片来源网络,侵删)

第二部分:高级模板 (响应式 + 动画)

在基础模板上,我们增加响应式布局(适配手机和桌面)和滚动动画效果。

新增功能

  • 响应式导航栏:在移动端,导航栏会变成一个汉堡菜单。
  • 滚动显示动画:当用户滚动到某个部分时,该部分会平滑地淡入并滑入视野。
  • 更现代的视觉设计

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>&copy; 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: 除了照片,还提供插画、矢量图和视频。

希望这份详细的指南能帮助你从零开始构建自己的网页!祝你编码愉快!