凌峰创科服务平台

HTML5网站代码从哪获取?

  1. 语义化 HTML5 结构:使用 <header>, <nav>, <main>, <section>, <article>, <aside>, <footer> 等标签。
  2. CSS3 样式:包括 Flexbox 布局、响应式设计(媒体查询)、过渡动画和自定义变量。
  3. JavaScript 交互:实现一个功能性的移动端导航菜单(汉堡菜单)。
  4. SEO 友好:包含 meta 标签和结构化的内容。

最终效果预览

这是一个简洁、现代的单页滚动网站,包含导航、主页、服务和联系信息,在移动设备上,导航菜单会变成一个汉堡菜单图标。

HTML5网站代码从哪获取?-图1
(图片来源网络,侵删)

文件结构

为了运行这个网站,您需要创建以下三个文件,并将它们放在同一个文件夹中:

my-website/
├── index.html
├── style.css
└── script.js

HTML 代码 (index.html)

这是网站的结构和内容,代码中包含了详细的注释,解释了每个部分的作用。

<!DOCTYPE html>
<!-- 
  使用 lang="zh-CN" 声明语言,有助于搜索引擎理解网站内容。
-->
<html lang="zh-CN">
<head>
    <!-- 字符编码声明,防止页面出现乱码 -->
    <meta charset="UTF-8">
    <!-- 视口设置,确保网站在移动设备上正确显示和缩放 -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <!-- 页面标题,显示在浏览器标签页上,对SEO非常重要 -->我的现代HTML5网站</title>
    <!-- 引入外部CSS样式表 -->
    <link rel="stylesheet" href="style.css">
    <!-- 引入Google Fonts,使用一个优雅的无衬线字体 -->
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link href="https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
</head>
<body>
    <!-- 
      <header> 网站头部,通常包含Logo和主导航。
      使用 data-js-header 属性供JavaScript操作,例如在滚动时添加阴影。
    -->
    <header class="main-header" data-js-header>
        <div class="container">
            <a href="#" class="logo">我的Logo</a>
            <!-- 
              <nav> 定义导航链接区域。
              data-js-nav-menu 属性用于JavaScript控制移动端菜单的显示/隐藏。
            -->
            <nav class="main-nav" data-js-nav-menu>
                <ul>
                    <li><a href="#home">首页</a></li>
                    <li><a href="#about">lt;/a></li>
                    <li><a href="#services">服务</a></li>
                    <li><a href="#contact">联系</a></li>
                </ul>
            </nav>
            <!-- 
              汉堡菜单按钮,仅在移动端显示。
              data-js-nav-toggle 属性用于JavaScript触发菜单开关。
            -->
            <button class="nav-toggle" aria-label="切换导航菜单" data-js-nav-toggle>
                <span class="hamburger"></span>
            </button>
        </div>
    </header>
    <main>
        <!-- 
          <section> 用于定义文档中的一个区域。
          id 属性用于创建页面内的锚点链接(如 href="#home")。
        -->
        <section id="home" class="hero">
            <div class="container">
                <h1>欢迎来到我的网站</h1>
                <p>这是一个使用 HTML5, CSS3 和 JavaScript 构建的现代化、响应式网站。</p>
                <a href="#about" class="btn">了解更多</a>
            </div>
        </section>
        <section id="about" class="about-section">
            <div class="container">
                <h2>关于我们</h2>
                <p>我们是一支充满激情的团队,致力于创造卓越的数字体验,我们相信,好的设计不仅仅是美观,更是功能与美学的完美结合。</p>
            </div>
        </section>
        <section id="services" class="services-section">
            <div class="container">
                <h2>我们的服务</h2>
                <div class="services-grid">
                    <article class="service-card">
                        <h3>网页设计</h3>
                        <p>创造美观且用户友好的界面设计,提升品牌形象。</p>
                    </article>
                    <article class="service-card">
                        <h3>前端开发</h3>
                        <p>将设计稿转化为高性能、可访问的网页应用。</p>
                    </article>
                    <article class="service-card">
                        <h3>响应式布局</h3>
                        <p>确保您的网站在任何设备上都能完美展示。</p>
                    </article>
                </div>
            </div>
        </section>
        <section id="contact" class="contact-section">
            <div class="container">
                <h2>联系我们</h2>
                <p>有项目想法?让我们一起聊聊吧!</p>
                <p>邮箱: contact@example.com</p>
                <p>电话: +86 123 4567 8900</p>
            </div>
        </section>
    </main>
    <!-- 
      <footer> 网站页脚,通常包含版权信息、链接等。
    -->
    <footer class="main-footer">
        <div class="container">
            <p>&copy; 2025 我的公司. 保留所有权利.</p>
        </div>
    </footer>
    <!-- 引入外部JavaScript脚本 -->
    <!-- 放在body末尾,确保DOM元素完全加载后再执行脚本 -->
    <script src="script.js"></script>
</body>
</html>

CSS 代码 (style.css)

这是网站的样式表,负责布局、颜色、字体和响应式设计。

/* --- 全局样式和变量 --- */
:root {
    --primary-color: #007bff;
    --secondary-color: #343a40;
    --text-color: #333;
    --light-bg-color: #f4f4f4;
    --white-color: #ffffff;
    --font-family: 'Noto Sans SC', sans-serif;
    --container-max-width: 1100px;
    --spacing-unit: 1rem;
}
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
html {
    scroll-behavior: smooth; /* 平滑滚动 */
}
body {
    font-family: var(--font-family);
    line-height: 1.6;
    color: var(--text-color);
    background-color: var(--white-color);
}
.container {
    max-width: var(--container-max-width);
    margin: 0 auto;
    padding: 0 1.5rem;
}
h1, h2, h3 {
    line-height: 1.2;
    margin-bottom: 1rem;
}
a {
    text-decoration: none;
    color: var(--primary-color);
}
.btn {
    display: inline-block;
    background: var(--primary-color);
    color: var(--white-color);
    padding: 0.8rem 1.5rem;
    border-radius: 5px;
    margin-top: 1rem;
    transition: background-color 0.3s ease;
}
.btn:hover {
    background-color: #0056b3;
}
/* --- 头部导航 --- */
.main-header {
    background: var(--white-color);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    transition: box-shadow 0.3s ease;
}
.main-header.scrolled {
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}
.main-header .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.5rem;
}
.logo {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--secondary-color);
}
.main-nav ul {
    list-style: none;
    display: flex;
    gap: 2rem;
}
.main-nav a {
    color: var(--secondary-color);
    font-weight: 500;
    transition: color 0.3s ease;
}
.main-nav a:hover {
    color: var(--primary-color);
}
/* --- 汉堡菜单 --- */
.nav-toggle {
    display: none; /* 默认隐藏 */
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0.5rem;
}
.hamburger {
    display: block;
    width: 25px;
    height: 3px;
    background: var(--secondary-color);
    position: relative;
}
.hamburger::before,
.hamburger::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 3px;
    background: var(--secondary-color);
    transition: all 0.3s ease;
}
.hamburger::before {
    top: -8px;
}
.hamburger::after {
    bottom: -8px;
}
/* --- 主要内容区域 --- */
main {
    margin-top: 80px; /* 为固定导航栏留出空间 */
}
/* --- Hero 区域 --- */
.hero {
    background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url('https://images.unsplash.com/photo-1557682257-2f9c37a3a5f3?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1740&q=80') no-repeat center center/cover;
    color: var(--white-color);
    text-align: center;
    padding: 8rem 1rem;
}
.hero h1 {
    font-size: 3rem;
    margin-bottom: 1rem;
}
/* --- 服务、联系区域 --- */
.about-section,
.services-section,
.contact-section {
    padding: 4rem 0;
}
.about-section {
    background-color: var(--light-bg-color);
}
.services-section h2,
.contact-section h2 {
    text-align: center;
    margin-bottom: 3rem;
}
/* 使用 Flexbox 创建服务卡片网格 */
.services-grid {
    display: flex;
    justify-content: space-between;
    gap: 2rem;
    flex-wrap: wrap; /* 允许在小屏幕上换行 */
}
.service-card {
    flex: 1 1 300px; /* 基础宽度300px,可伸缩,可收缩 */
    background: var(--white-color);
    padding: 2rem;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    text-align: center;
    transition: transform 0.3s ease;
}
.service-card:hover {
    transform: translateY(-10px);
}
/* --- 页脚 --- */
.main-footer {
    background: var(--secondary-color);
    color: var(--white-color);
    text-align: center;
    padding: 1.5rem 0;
}
/* --- 响应式设计 --- */
@media (max-width: 768px) {
    .nav-toggle {
        display: block; /* 在小屏幕上显示汉堡菜单 */
    }
    .main-nav {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background: var(--white-color);
        flex-direction: column;
        align-items: center;
        padding: 1rem 0;
        transform: translateY(-150%);
        transition: transform 0.3s ease-in-out;
        box-shadow: 0 5px 5px rgba(0,0,0,0.1);
    }
    /* JavaScript 添加 'is-open' 类时,菜单滑下 */
    .main-nav.is-open {
        transform: translateY(0);
    }
    .main-nav ul {
        flex-direction: column;
        gap: 1rem;
    }
    .hero h1 {
        font-size: 2rem;
    }
}

JavaScript 代码 (script.js)

这是网站的交互脚本,主要负责:

HTML5网站代码从哪获取?-图2
(图片来源网络,侵删)
  1. 切换移动端导航菜单的显示状态。
  2. 当页面滚动时,为导航栏添加阴影效果。
// 等待整个HTML文档加载完毕后执行代码
document.addEventListener('DOMContentLoaded', () => {
    // --- 1. 移动端导航菜单切换逻辑 ---
    const navToggle = document.querySelector('[data-js-nav-toggle]');
    const navMenu = document.querySelector('[data-js-nav-menu]');
    // 检查元素是否存在,避免在非移动端或其他页面报错
    if (navToggle && navMenu) {
        navToggle.addEventListener('click', () => {
            // 切换 'is-open' 类,通过CSS控制菜单的显示和隐藏
            navMenu.classList.toggle('is-open');
            // 可选:改变汉堡菜单图标为 'X'
            const hamburger = navToggle.querySelector('.hamburger');
            if (navMenu.classList.contains('is-open')) {
                hamburger.style.background = 'transparent';
                hamburger::before {
                    transform: rotate(45deg);
                    top: 0;
                }
                hamburger::after {
                    transform: rotate(-45deg);
                    bottom: 0;
                }
            } else {
                // 恢复汉堡菜单图标
                hamburger.style.background = ''; // 恢复原始样式
                // 在实际项目中,这里可能需要更复杂的CSS来重置动画
            }
        });
    }
    // --- 2. 滚动时为导航栏添加阴影 ---
    const header = document.querySelector('[data-js-header]');
    if (header) {
        window.addEventListener('scroll', () => {
            // 当页面滚动超过50像素时,为header添加 'scrolled' 类
            if (window.scrollY > 50) {
                header.classList.add('scrolled');
            } else {
                header.classList.remove('scrolled');
            }
        });
    }
});

如何使用

  1. 创建文件:按照上面的文件结构,创建 index.html, style.css, 和 script.js 三个文件。
  2. 复制代码:将对应的代码分别粘贴到这三个文件中。
  3. 打开网站:用浏览器(如 Chrome, Firefox, Edge)打开 index.html 文件,即可看到网站效果。

您可以根据自己的需求修改颜色、文本、图片链接和样式,这是一个非常好的起点!

HTML5网站代码从哪获取?-图3
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇