Search K
Appearance
Appearance
HTML5编码规范, 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>
</head>
<body>
<header>
<h1>网站标题</h1>
<nav>
<ul>
<li><a href="#home">首页</a></li>
<li><a href="#about">关于我们</a></li>
<li><a href="#contact">联系我们</a></li>
</ul>
</nav>
</header>
<main>
<section id="home">
<h2>欢迎来到我们的网站</h2>
<p>这是一个示例页面,展示了正确的HTML编码规范。</p>
</section>
</main>
<footer>
<p>© 2024 我们的网站. 版权所有.</p>
</footer>
</body>
</html><!-- 使用4个空格缩进 -->
<div class="container">
<header class="header">
<h1 class="header-title">标题</h1>
<nav class="navigation">
<ul class="nav-list">
<li class="nav-item">
<a href="#" class="nav-link">链接</a>
</li>
</ul>
</nav>
</header>
</div><!-- 正确:使用小写 -->
<input type="text" id="username" name="username" placeholder="请输入用户名">
<!-- 错误:使用大写 -->
<INPUT TYPE="TEXT" ID="USERNAME" NAME="USERNAME" PLACEHOLDER="请输入用户名"><!-- 正确:使用双引号 -->
<img src="images/logo.png" alt="公司Logo" width="200" height="100">
<!-- 错误:不使用引号或使用单引号 -->
<img src=images/logo.png alt='公司Logo' width=200 height=100><!-- 正确:自闭合标签 -->
<img src="image.jpg" alt="图片描述">
<br>
<hr>
<meta charset="UTF-8">
<link rel="stylesheet" href="styles.css">
<!-- 错误:不必要的闭合 -->
<img src="image.jpg" alt="图片描述"></img>
<br></br><article class="blog-post">
<header class="post-header">
<h2 class="post-title">文章标题</h2>
<time datetime="2024-01-15" class="post-date">2024年1月15日</time>
<address class="post-author">作者:张三</address>
</header>
<section class="post-content">
<p>文章内容的第一段...</p>
<p>文章内容的第二段...</p>
<figure class="post-image">
<img src="article-image.jpg" alt="文章配图">
<figcaption>图片说明文字</figcaption>
</figure>
</section>
<footer class="post-footer">
<p>标签:<span class="tag">HTML5</span>, <span class="tag">前端</span></p>
</footer>
</article><!-- 正确:语义化的命名 -->
<div id="main-navigation" class="nav-container">
<ul class="nav-list">
<li class="nav-item active">
<a href="#" class="nav-link">首页</a>
</li>
<li class="nav-item">
<a href="#" class="nav-link">产品</a>
</li>
</ul>
</div>
<!-- 错误:非语义化的命名 -->
<div id="div1" class="box1">
<ul class="list1">
<li class="item1 red">
<a href="#" class="link1">首页</a>
</li>
</ul>
</div><!-- BEM命名方法 -->
<div class="card">
<div class="card__header">
<h3 class="card__title">卡片标题</h3>
</div>
<div class="card__content">
<p class="card__text">卡片内容</p>
<button class="card__button card__button--primary">
主要按钮
</button>
</div>
</div>
<!-- 连字符命名 -->
<form class="contact-form">
<div class="form-group">
<label for="user-name" class="form-label">用户名</label>
<input type="text" id="user-name" class="form-input">
</div>
<div class="form-group">
<label for="user-email" class="form-label">邮箱</label>
<input type="email" id="user-email" class="form-input">
</div>
</form>index.html # 首页
about.html # 关于页面
contact.html # 联系页面
product-detail.html # 产品详情页
user-profile.html # 用户资料页project/
├── css/
│ ├── main.css
│ ├── normalize.css
│ └── components/
│ ├── header.css
│ ├── footer.css
│ └── navigation.css
├── js/
│ ├── main.js
│ ├── utils.js
│ └── modules/
│ ├── slider.js
│ └── form-validator.js
├── images/
│ ├── logo.png
│ ├── hero-banner.jpg
│ └── icons/
│ ├── search-icon.svg
│ └── user-icon.svg
└── pages/
├── about.html
├── contact.html
└── products/
├── index.html
└── detail.html<!-- ============================
页面头部区域
包含:logo、主导航、搜索框
============================ -->
<header class="main-header">
<div class="container">
<!-- Logo区域 -->
<div class="logo">
<img src="logo.png" alt="公司Logo">
</div>
<!-- 主导航 -->
<nav class="main-navigation">
<ul class="nav-list">
<li><a href="#home">首页</a></li>
<li><a href="#about">关于我们</a></li>
<li><a href="#services">服务</a></li>
<li><a href="#contact">联系我们</a></li>
</ul>
</nav>
</div>
</header>
<!-- ============================
页面主体内容区域
============================ -->
<main class="main-content">
<!-- 轮播图区域 -->
<section class="hero-slider">
<!-- 轮播图内容 -->
</section>
<!-- 产品展示区域 -->
<section class="products-showcase">
<!-- 产品列表 -->
</section>
</main><!-- TODO: 需要添加响应式断点 -->
<div class="grid-container">
<!-- FIXME: 这里的布局在移动端有问题 -->
<div class="grid-item">内容</div>
<!-- NOTE: 这个区域需要特殊的样式处理 -->
<div class="special-content">
特殊内容
</div>
</div>
<!-- HACK: 临时解决方案,后续需要重构 -->
<div class="temporary-fix">
临时内容
</div><!--
/**
* 页面标题:产品详情页
* 文件名:product-detail.html
* 创建时间:2024-01-15
* 作者:张三
* 描述:展示产品详细信息,包括图片、规格、价格等
* 依赖:main.css, product.css, product.js
* 最后修改:2024-01-20
*/
-->
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>产品详情 - 我们的网站</title>
<!-- 其他meta标签和链接 -->
</head>website-project/
├── index.html # 主页
├── favicon.ico # 网站图标
├── robots.txt # 搜索引擎爬虫规则
├── sitemap.xml # 网站地图
├──
├── assets/ # 静态资源目录
│ ├── css/ # 样式文件
│ │ ├── main.css # 主样式
│ │ ├── normalize.css # 重置样式
│ │ ├── components/ # 组件样式
│ │ └── pages/ # 页面特定样式
│ │
│ ├── js/ # JavaScript文件
│ │ ├── main.js # 主脚本
│ │ ├── utils.js # 工具函数
│ │ ├── modules/ # 模块化脚本
│ │ └── vendor/ # 第三方库
│ │
│ ├── images/ # 图片资源
│ │ ├── common/ # 通用图片
│ │ ├── icons/ # 图标
│ │ └── products/ # 产品图片
│ │
│ └── fonts/ # 字体文件
│ ├── woff/
│ ├── woff2/
│ └── ttf/
│
├── pages/ # 页面文件
│ ├── about/
│ │ ├── index.html
│ │ └── team.html
│ ├── products/
│ │ ├── index.html
│ │ └── detail.html
│ └── contact/
│ └── index.html
│
├── docs/ # 文档
│ ├── README.md
│ ├── CHANGELOG.md
│ └── style-guide.md
│
└── build/ # 构建输出目录
├── css/
├── js/
└── images/.html # HTML文件
.css # CSS样式文件
.js # JavaScript文件
.json # JSON数据文件
.xml # XML文件
.svg # SVG矢量图
.png # PNG图片
.jpg # JPEG图片
.gif # GIF动图
.ico # 图标文件# 使用连字符分隔单词
product-detail.html
user-profile.html
main-navigation.css
form-validator.js
# 避免使用特殊字符
# 错误示例:
product_detail.html
user%profile.html
main navigation.css# 格式:<type>(<scope>): <subject>
# 示例:
feat(header): 添加响应式导航菜单
fix(form): 修复表单验证错误
docs(readme): 更新项目文档
style(css): 调整按钮样式
refactor(js): 重构用户认证模块
test(unit): 添加表单验证测试
chore(build): 更新构建脚本feat # 新功能
fix # 修复bug
docs # 文档更新
style # 代码格式化
refactor # 重构
test # 测试相关
chore # 构建过程或辅助工具的变动
perf # 性能优化# 功能分支
feature/add-user-profile
feature/implement-payment
feature/responsive-design
# 修复分支
fix/header-navigation-bug
fix/form-validation-error
fix/mobile-layout-issue
# 发布分支
release/v1.0.0
release/v1.1.0
# 热修复分支
hotfix/security-patch
hotfix/critical-bug-fix# 1. 从主分支创建功能分支
git checkout -b feature/new-feature main
# 2. 开发完成后提交
git add .
git commit -m "feat(component): 添加新组件"
# 3. 推送到远程仓库
git push origin feature/new-feature
# 4. 创建合并请求
# 通过Web界面或命令行工具
# 5. 代码评审通过后合并
git checkout main
git merge feature/new-feature
git push origin main
# 6. 删除功能分支
git branch -d feature/new-feature
git push origin --delete feature/new-feature# 操作系统文件
.DS_Store
Thumbs.db
# 编辑器文件
.vscode/
.idea/
*.swp
*.swo
*~
# 构建输出
/build/
/dist/
/out/
# 依赖包
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# 环境变量
.env
.env.local
.env.development.local
.env.test.local
.env.production.local
# 日志文件
*.log
logs/
# 临时文件
*.tmp
*.temp
.cache/
# 备份文件
*.bak
*.backup
*.oldA1:编码规范可以提高代码的可读性、可维护性和团队协作效率,减少bug和开发成本。
A2:根据项目需求和团队习惯选择,但要保持一致性。常用的有连字符、驼峰命名和BEM方法。
A3:提交信息应该简洁明了,包含类型、范围和简要描述,必要时可以添加详细说明。
A4:可以逐步重构,优先处理经常修改的部分,制定规范化计划分阶段执行。
A5:通过制定团队规范文档、使用自动化工具、定期代码评审和培训来确保规范的执行。
本文档是HTML5学习小册的一部分,更多内容请查看其他章节。