下面我将为你提供一个完整的、可以直接运行的仿制 W3School 网页的代码,这个版本包含了:

2025仿制w3school网页代码
(图片来源网络,侵删)
  1. 响应式布局:在手机、平板和电脑上都能良好显示。
  2. 顶部导航栏:包含 W3School 的 Logo 和主导航链接。
  3. 侧边栏:包含所有教程的目录,并带有高亮当前页面的功能。
  4. :展示教程内容,包含代码示例和“尝试一下”按钮。
  5. 底部:包含版权信息和相关链接。

最终效果预览

  • 桌面端:

  • 移动端 (侧边栏会变成汉堡菜单):


项目结构

为了方便管理,我们建议创建以下文件结构:

w3school-clone/
├── index.html
├── css/
│   └── style.css
└── js/
    └── script.js

HTML 代码 (index.html)

这是页面的骨架,包含了导航、侧边栏、主内容和页脚。

2025仿制w3school网页代码
(图片来源网络,侵删)
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">HTML 教程 - W3School 仿制版</title>
    <link rel="stylesheet" href="css/style.css">
    <!-- 引入字体图标库,这里使用 Font Awesome -->
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
</head>
<body>
    <!-- 顶部导航栏 -->
    <header class="topnav">
        <div class="logo">
            <a href="index.html">W3Schools</a>
        </div>
        <nav class="main-nav">
            <a href="#" class="active">首页</a>
            <a href="#">HTML / CSS</a>
            <a href="#">JavaScript</a>
            <a href="#">Python</a>
            <a href="#">SQL</a>
            <a href="#">更多</a>
        </nav>
        <div class="nav-right">
            <a href="#" class="search-icon"><i class="fas fa-search"></i></a>
            <a href="#" class="menu-toggle"><i class="fas fa-bars"></i></a>
        </div>
    </header>
    <div class="container">
        <!-- 侧边栏 -->
        <aside class="sidebar" id="mySidebar">
            <div class="sidebar-header">
                <a href="javascript:void(0)" class="closebtn" onclick="closeSidebar()">&times;</a>
                <h3>HTML / CSS</h3>
            </div>
            <ul class="sidebar-menu">
                <li><a href="#">HTML 教程</a></li>
                <li><a href="#">CSS 教程</a></li>
                <li><a href="#">JavaScript 教程</a></li>
                <li><a href="#">SQL 教程</a></li>
                <li><a href="#">Python 教程</a></li>
                <li><a href="#">PHP 教程</a></li>
                <li><a href="#">Java 教程</a></li>
                <li><a href="#">W3.CSS 教程</a></li>
                <li><a href="#">Bootstrap 教程</a></li>
                <li><a href="#">React 教程</a></li>
                <li><a href="#">MySQL 教程</a></li>
                <li><a href="#">NumPy 教程</a></li>
                <li><a href="#"> Pandas 教程</a></li>
                <li><a href="#">Django 教程</a></li>
            </ul>
        </aside>
        <!-- 主内容区 -->
        <main class="main-content">
            <article>
                <h1>HTML 教程</h1>
                <p>HTML 是用来描述网页的一种语言。</p>
                <p>HTML 指的是超文本标记语言 (Hyper Text Markup Language)。</p>
                <p>HTML 不是一种编程语言,而是一种标记语言 (markup language)。</p>
                <p>标记语言是一套标记标签 (markup tag)。</p>
                <p>HTML 使用标记标签来描述网页。</p>
                <hr>
                <h2>HTML 实例</h2>
                <p>亲自试一试我们的实例,看看代码是如何工作的!</p>
                <div class="example">
                    <h3>实例</h3>
                    <div class="example-content">
                        <p>这是一个段落。</p>
                    </div>
                    <a href="#" class="tryit-btn" onclick="openTryIt()"><i class="fas fa-external-link-alt"></i> 尝试一下</a>
                </div>
                <h2>HTML 参考手册</h2>
                <p>在 W3School,您将找到完整的 HTML 标签和属性的参考手册。</p>
                <a href="#" class="reference-btn">HTML 标签参考手册</a>
            </article>
        </main>
    </div>
    <!-- 页脚 -->
    <footer>
        <p>© 2025 W3School 仿制版,保留所有权利。</p>
        <p>W3School 简体中文版提供了对初学者友好的 Web 技术教程。</p>
    </footer>
    <!-- 尝试一下的弹出窗口 -->
    <div id="tryitModal" class="modal">
        <div class="modal-content">
            <span class="close" onclick="closeTryIt()">&times;</span>
            <iframe src="tryit.html" frameborder="0"></iframe>
        </div>
    </div>
    <script src="js/script.js"></script>
</body>
</html>

CSS 代码 (css/style.css)

这是页面的样式,让它看起来像 W3School。

/* --- 全局样式 --- */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: #333;
    background-color: #f1f1f1;
}
.container {
    display: flex;
    max-width: 1200px;
    margin: 0 auto;
    background-color: #fff;
    min-height: calc(100vh - 70px - 40px); /* 减去头部和页脚高度 */
}
a {
    text-decoration: none;
    color: #04AA6D;
}
a:hover {
    color: #00b36b;
}
h1, h2, h3 {
    margin-bottom: 15px;
    color: #222;
}
hr {
    border: 1px solid #ddd;
    margin: 20px 0;
}
/* --- 顶部导航栏 --- */
.topnav {
    background-color: #04AA6D;
    padding: 10px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: white;
    position: sticky;
    top: 0;
    z-index: 100;
}
.topnav .logo a {
    color: white;
    font-size: 24px;
    font-weight: bold;
}
.topnav .main-nav a {
    color: white;
    padding: 8px 16px;
    text-decoration: none;
    border-radius: 4px;
    margin: 0 5px;
}
.topnav .main-nav a.active, .topnav .main-nav a:hover {
    background-color: #00b36b;
}
.topnav .nav-right a {
    color: white;
    padding: 8px;
    margin-left: 10px;
}
/* --- 侧边栏 --- */
.sidebar {
    width: 250px;
    background-color: #f1f1f1;
    padding: 20px;
    overflow-y: auto; /* 内容过长时出现滚动条 */
    height: 100%;
}
.sidebar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}
.sidebar-header .closebtn {
    font-size: 28px;
    cursor: pointer;
}
.sidebar-header h3 {
    color: #04AA6D;
}
.sidebar-menu {
    list-style-type: none;
}
.sidebar-menu li {
    margin-bottom: 10px;
}
.sidebar-menu a {
    color: #333;
    padding: 10px;
    display: block;
    border-radius: 4px;
}
.sidebar-menu a:hover, .sidebar-menu a.active {
    background-color: #ddd;
    color: #04AA6D;
}
/* --- 主内容区 --- */
.main-content {
    flex: 1;
    padding: 20px;
    overflow-y: auto; /* 内容过长时出现滚动条 */
}
.main-content article {
    max-width: 800px;
    margin: 0 auto;
}
/* --- 代码示例和按钮 --- */
.example {
    background-color: #f8f9fa;
    border-left: 4px solid #04AA6D;
    padding: 15px;
    margin: 20px 0;
}
.example h3 {
    margin-top: 0;
    margin-bottom: 10px;
    color: #444;
}
.example-content {
    background-color: #fff;
    padding: 15px;
    border: 1px solid #ddd;
    margin-bottom: 10px;
    font-family: 'Courier New', Courier, monospace;
}
.tryit-btn, .reference-btn {
    display: inline-block;
    background-color: #04AA6D;
    color: white;
    padding: 10px 20px;
    border-radius: 4px;
    border: none;
    cursor: pointer;
    font-size: 16px;
    transition: background-color 0.3s;
}
.tryit-btn:hover, .reference-btn:hover {
    background-color: #00b36b;
}
/* --- 页脚 --- */
footer {
    background-color: #f8f9fa;
    text-align: center;
    padding: 20px;
    color: #666;
    font-size: 14px;
}
/* --- 弹出窗口 --- */
.modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.5);
    overflow: auto;
}
.modal-content {
    background-color: #fefefe;
    margin: 5% auto;
    padding: 0;
    border: 1px solid #888;
    width: 80%;
    max-width: 900px;
    border-radius: 5px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}
.modal-content iframe {
    width: 100%;
    height: 500px;
    border: none;
    display: block;
}
.close {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
}
.close:hover,
.close:focus {
    color: black;
    text-decoration: none;
}
/* --- 响应式设计 --- */
@media (max-width: 768px) {
    .container {
        flex-direction: column;
    }
    .sidebar {
        width: 100%;
        height: auto;
        position: fixed;
        top: 60px;
        left: -250px; /* 默认隐藏 */
        transition: 0.3s;
        z-index: 999;
        box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    }
    .main-content {
        margin-left: 0;
    }
    .main-nav {
        display: none; /* 在移动端隐藏主导航 */
    }
}

JavaScript 代码 (js/script.js)

用于处理移动端菜单的开关和“尝试一下”弹窗。

// 移动端侧边栏开关
function openSidebar() {
    document.getElementById("mySidebar").style.left = "0";
}
function closeSidebar() {
    document.getElementById("mySidebar").style.left = "-250px";
}
// “尝试一下”弹窗
function openTryIt() {
    document.getElementById("tryitModal").style.display = "block";
}
function closeTryIt() {
    document.getElementById("tryitModal").style.display = "none";
}
// 点击弹窗外部区域关闭弹窗
window.onclick = function(event) {
    const modal = document.getElementById("tryitModal");
    if (event.target == modal) {
        modal.style.display = "none";
    }
}
// 为菜单切换按钮添加点击事件
document.querySelector('.menu-toggle').addEventListener('click', openSidebar);

“尝试一下”功能页面 (tryit.html)

为了让“尝试一下”按钮真正可用,我们需要创建一个简单的 tryit.html 文件,这个页面将包含一个代码编辑器(左右分栏)和一个预览区。

文件路径: w3school-clone/tryit.html

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">尝试一下 - W3School 仿制版</title>
    <style>
        body { margin: 0; font-family: sans-serif; }
        .try-container {
            display: flex;
            height: 100vh;
        }
        .try-editor {
            flex: 1;
            display: flex;
            flex-direction: column;
            border-right: 1px solid #ccc;
        }
        .try-output {
            flex: 1;
        }
        .try-textarea {
            width: 100%;
            height: 100%;
            padding: 10px;
            font-family: 'Courier New', Courier, monospace;
            font-size: 14px;
            border: none;
            resize: none;
            outline: none;
        }
        .try-iframe {
            width: 100%;
            height: 100%;
            border: none;
        }
    </style>
</head>
<body>
    <div class="try-container">
        <div class="try-editor">
            <textarea id="code" class="try-textarea" spellcheck="false"><!DOCTYPE html>
<html>
<body>
<h1>我的第一个标题</h1>
<p>我的第一个段落。</p>
</body>
</html></textarea>
        </div>
        <div class="try-output">
            <iframe id="output" class="try-iframe"></iframe>
        </div>
    </div>
    <script>
        function updateOutput() {
            const code = document.getElementById("code").value;
            const output = document.getElementById("output").contentWindow.document;
            output.open();
            output.write(code);
            output.close();
        }
        // 页面加载时执行一次
        window.onload = updateOutput;
        // 每次输入框内容变化时更新
        document.getElementById("code").oninput = updateOutput;
    </script>
</body>
</html>

如何运行

  1. 将以上代码分别保存到对应的文件中。
  2. 确保所有文件都在同一个 w3school-clone 文件夹下。
  3. 用浏览器(如 Chrome, Firefox, Edge)打开 index.html 文件。

你就可以看到一个功能完整、样式经典的 W3School 仿制网页了!你可以在此基础上进行扩展,比如添加更多的教程页面、实现更复杂的交互效果等。