-
网站代码怎么写:页面结构、编写步骤与完整示例
写一个基础网站,可以先用 HTML 搭出页面结构,再用 CSS 设置样式,最后用 JavaScript 添加交互。下面以一个带导航、介绍区和登录演示框的学习网站为例,按文件拆分给出可运行代码;其中的登录只做前端演示,不会验证真实账号。
先明确页面结构与学习目标
动手前,先列出页面需要展示什么、用户能做什么。示例网站包含顶部导航、站点介绍、学习内容说明和登录演示框。完成后,你可以看懂三类代码的分工:HTML 定义页面元素,CSS 控制布局和外观,JavaScript 响应用户操作。
- HTML:组织标题、段落、导航和表单,让浏览器知道页面各部分是什么。
- CSS:设置颜色、间距、卡片布局和窄屏显示方式。
- JavaScript:接收表单提交并显示反馈。本例不连接服务器,也不创建或核验账号。
按步骤创建三个文件
- 新建项目文件夹。在同一个文件夹里创建
index.html、style.css和app.js,文件名要与代码中的引用保持一致。 - 编写页面骨架。在 HTML 中添加标题、导航、介绍区和表单,并通过
link引入样式文件、通过script引入交互文件。 - 补充外观与交互。在 CSS 中设置布局和移动端样式;在 JavaScript 中检查输入并给出提交反馈。
- 运行并检查。保存三个文件后打开
index.html。试着点击导航、提交空表单、输入有效格式的邮箱和密码,观察浏览器校验及提示文字是否符合预期。
完整示例:index.html
以下代码负责页面内容和文件关联。把代码保存为
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>青禾学习站</title> <link rel="stylesheet" href="style.css"> <script src="app.js" defer></script> </head> <body> <header class="site-header"> <div class="brand">青禾学习站</div> <nav aria-label="主导航"> <a href="#home">首页</a> <a href="#lessons">学习内容</a> <a href="#login">登录演示</a> </nav> </header> <main id="home"> <section class="hero"> <p class="eyebrow">从基础开始</p> <h1>让每一步学习都有清晰方向</h1> <p>用简洁的页面整理课程、练习和学习进度。</p> <a class="primary-link" href="#lessons">查看学习内容</a> </section> <section class="layout"> <article class="intro" id="lessons"> <h2>学习内容</h2> <p>将复杂任务拆成小步骤,先理解基础,再通过练习巩固。</p> <ul> <li>基础知识:认识常用概念和页面结构。</li> <li>动手练习:将知识点应用到小页面中。</li> <li>复盘改进:根据效果调整内容与布局。</li> </ul> </article> <section class="login-card" id="login"> <h2>登录演示</h2> <p>填写邮箱和至少 8 位密码,查看前端提示。</p> <form id="login-form"> <label for="email">邮箱</label> <input id="email" name="email" type="email" autocomplete="email" required> <label for="password">密码</label> <input id="password" name="password" type="password" autocomplete="current-password" minlength="8" required> <button type="submit">提交演示</button> <p id="login-message" role="status" aria-live="polite"></p> </form> </section> </section> </main> <footer class="site-footer">青禾学习站 · 页面示例</footer> </body> </html>这里用
header、nav、main、section和footer表达页面区域;表单中的required、type="email"和minlength则提供浏览器自带的基础输入校验。设置页面样式:style.css
将下面代码保存为
style.css。宽屏时介绍区和登录框并排显示,窄屏时自动改为纵向排列。* { box-sizing: border-box; } body { margin: 0; color: #20312c; background: #f4f7f5; font-family: Arial, "Microsoft YaHei", sans-serif; line-height: 1.6; } .site-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px max(24px, calc((100% - 1080px) / 2)); background: #ffffff; } .brand { font-weight: 700; color: #176b55; } nav { display: flex; gap: 20px; } a { color: #176b55; text-decoration: none; } .hero, .layout, .site-footer { width: min(1080px, calc(100% - 40px)); margin: 0 auto; } .hero { padding: 64px 0 38px; } .eyebrow { color: #176b55; font-weight: 700; } .hero h1 { margin: 8px 0; font-size: clamp(30px, 5vw, 48px); } .primary-link, button { display: inline-block; margin-top: 14px; padding: 11px 18px; border: 0; border-radius: 8px; color: #ffffff; background: #176b55; font: inherit; cursor: pointer; } .layout { display: grid; grid-template-columns: 1.3fr 1fr; gap: 24px; align-items: start; } .intro, .login-card { padding: 24px; border-radius: 12px; background: #ffffff; } label { display: block; margin-top: 14px; font-weight: 700; } input { width: 100%; margin-top: 6px; padding: 11px; border: 1px solid #bdcbc5; border-radius: 7px; font: inherit; } #login-message { min-height: 1.6em; color: #176b55; } .site-footer { padding: 32px 0; color: #5f7069; } @media (max-width: 700px) { .site-header { align-items: flex-start; flex-direction: column; } nav { flex-wrap: wrap; gap: 12px; } .layout { grid-template-columns: 1fr; } } x1rg8p23w0ul2qfto9o8zc4dhlzz3l添加表单反馈:app.js
将下面代码保存为
app.js。提交时脚本阻止表单默认刷新,检查密码长度并更新提示区域;页面不会把密码发送到服务器。const form = document.querySelector("#login-form"); const emailInput = document.querySelector("#email"); const passwordInput = document.querySelector("#password"); const message = document.querySelector("#login-message"); form.addEventListener("submit", (event) => { event.preventDefault(); const email = emailInput.value.trim(); const password = passwordInput.value; if (!email) { message.textContent = "请填写邮箱。"; return; } if (password.length < 8) { message.textContent = "密码至少需要 8 位。"; return; } message.textContent = `演示通过:已收到 ${email} 的登录请求,尚未进行真实身份验证。`; });打开
index.html后,输入格式正确的邮箱和不少于 8 位的密码,页面会显示演示反馈。若要实现真实注册或登录,还需要服务器端处理账号、验证凭据并安全保存密码;仅靠浏览器中的 JavaScript 不能完成可靠的身份认证。- 责任编辑: 周伟
-
华信新材:2025年第三季度归属于上市公司股东的净利润同比增长68.48%
2026-10-11 18:25:43 强制分类 -
iPhone Duo到手
2026-10-14 01:38:43 -
金斯瑞生物科技:传奇将于美国血液学会年会展示最新数据
2026-10-18 00:50:43 做市商 -
7月以来融资余额增超三成 科技股最受青睐
2026-10-09 10:35:43 港股行情 -
科技还是很热闹 八月主线
2026-10-15 18:36:43 知识库 -
碧水源:关于公司股东的业绩补偿事项已于2023年完成
2026-10-12 07:35:43 新颖性 -
幸运女神玩刮刮卡中1344万 一小改变直接中大奖
2026-10-21 01:42:43 有害内容 -
新加坡交易所陈庆:深化中新ETF互通,探索A股+新交所共同上市机制
2026-10-21 20:59:43 世界模型 -
普京称日韩生育率比俄低
2026-10-21 06:16:43 类器官 -
英伟达财报在即 摩根士丹利称“加码时机已至”
2026-10-18 19:29:43 -
经纪公司指控郭宇欣违约
2026-10-11 23:31:43 -
8月新能源销量战报:零跑交付5.7万,乐道L90助力蔚来破3万
2026-10-09 12:52:43 多样性重排
相关推荐 -
1科尔百货临时CEO转正 为公司三年内第三任CEO评论 67 赞 564988
2国际航联:非传统风险推高航运成本评论 41 赞 33607
31908年-清廷颁布《钦定宪法大纲》评论 03 赞 75745
4张本美和早田希娜女双夺冠评论 13 赞 581952
5连续三年中报亏损,延长石油旗下这家上市公司怎么了?评论 48 赞 499012
6女子摔倒滚下坡狗狗护主评论 66 赞 65851876最新闻 Hot

观察员


















上海市互联网违法与不良信息举报中心
请自觉遵守互联网相关的政策法规,共同营造“阳光、理性、平和、友善”的跟评互动环境。