HTML(5) 样式指南和代码约定

本站原创2019-03-10 13:45:41 192

HTML 代码约定

web 开发者常常不确定在 HTML 中使用的代码样式和语法。

在 2000 年至 2010 年之间,许多 web 开发者从 HTML 转换为 XHTML。

通过 XHTML,开发者不得不编写有效的“格式良好的”代码。

HTML5 在代码验证时会更宽松一点。

通过 HTML5,您必须创建属于自己的最佳实践、样式指南和代码约定

智能且有未来保证

对样式的合乎逻辑的使用,可以令其他人更容易理解和使用您的 HTML。

在未来,诸如 XML 阅读器之类的程序,也许需要阅读您的 HTML。

使用格式良好的“近似 XHTML 的”语法,能够更智能。

注释:请始终保持您的样式智能、整洁、纯净、格式良好。

请使用正确的文档类型

请始终在文档的首行声明文档类型:

<!DOCTYPE html>

如果您一贯坚持小写标签,那么可以使用:

<!doctype html>

请使用小写元素名

HTML5 允许在元素名中使用混合大小写字母。

我们推荐使用小写元素名:

  • 混合大小写名称并不好
  • 开发者习惯使用小写名(比如在 XHTML 中)
  • 小写更起来更纯净
  • 小写更易书写

不太好:

<SECTION>    <p>This is a paragraph.</p> </SECTION> 

很糟糕:

<Section>    <p>This is a paragraph.</p> </SECTION> 

还不错:

<section>    <p>This is a paragraph.</p> </section> 

关闭所有 HTML 元素

在 HTML5 中,您不必关闭所有元素(例如 <p> 元素)。

我们建议关闭所有 HTML 元素:

看起来不好:

<section>   <p>This is a paragraph.   <p>This is a paragraph. </section> 

看起来不错:

<section>   <p>This is a paragraph.</p>   <p>This is a paragraph.</p> </section> 

关闭空的 HTML 元素

在 HTML5 中,关闭空元素是可选的。

允许这样:

<meta charset="utf-8">

也允许这样:

<meta charset="utf-8" />

斜杠(/)在 XHTML 和 XML 中是必需的。

如果您期望 XML 软件来访问您的页面,保持这个习惯是个好主意。

使用小写属性名

HTML5 允许大小写混合的属性名。

我们建议使用小写属性名:

  • 混合属性名并不好
  • 开发者习惯于使用小写属性名(比如在 XHTML 中)
  • 小写属性名看情况更纯净
  • 小写属性名更易书写

看起来不好:

<div>

看起来不错:

<div>

属性值加引号

HTML5 允许不加引号的属性值。

我们推荐属性值加引号:

  • 如果属性值包含值,则必须使用引号
  • 混合样式绝对不好
  • 加引号的值更易阅读

这个属性值无效,因为值中包含空格:

<table striped>

这样是有效的:

<table class="table striped">

必需的属性

请始终对图像使用 alt 属性。当图像无法显示时该属性很重要。

<img src="html5.gif" alt="HTML5" style="width:128px;height:128px">

请始终定义图像尺寸。这样做会减少闪烁,因为浏览器会在图像加载之前为图像预留空间。

<img src="html5.gif" alt="HTML5" style="width:128px;height:128px">

空格和等号

等号两边的空格是合法的:

<link rel = "stylesheet" href = "styles.css">

但是精简空格更易阅读, But space-less is easier to read, and groups entities better together:

<link rel="stylesheet" href="styles.css">

避免长代码行

当使用 HTML 编辑器时,通过左右滚动来阅读 HTML 代码很不方便。

请尽量避免代码行超过 80 个字符。

空行和缩进

请勿毫无理由地增加空行。

为了提高可读性,请增加空行来分隔大型或逻辑代码块。

为了提高可读性,请增加两个空格的缩进。请勿使用 TAB。

请勿使用没有必要的空行和缩进。没有必要在短的和相关项目之间使用空行,也没有必要缩进每个元素:

不必要:

<body>   <h1>Famous Cities</1>   <h2>Tokyo</h2>   <p>     Tokyo is the capital of Japan, the center of the Greater Tokyo Area,     and the most populous metropolitan area in the world.     It is the seat of the Japanese government and the Imperial Palace,     and the home of the Japanese Imperial Family.   </p> </body> 

更好:

<body> <h1>Famous Cities</1> <h2>Tokyo</h2> <p> Tokyo is the capital of Japan, the center of the Greater Tokyo Area, and the most populous metropolitan area in the world. It is the seat of the Japanese government and the Imperial Palace, and the home of the Japanese Imperial Family. </p> </body> 

表格示例:

<table>   <tr>     <th>Name</th>     <th>Description</th>   <tr>   <tr>     <td>A</td>     <td>Description of A</td>   <tr>   <tr>     <td>B</td>     <td>Description of B</td>   <tr> </table> 

列表示例:

<ol>   <li>LondonA</li>   <li>Paris</li>   <li>Tokyo</li> </ol> 

省略 <html> 和 <body>?

在 HTML5 标准中,能够省略 <html> 标签和 <body> 标签。

以下代码作为 HTML5 进行验证:

示例

<!DOCTYPE html> <head>   <title>Page Title</title> </head> <h1>This is a heading</h1> <p>This is a paragraph.</p> 

亲自试一试

我们不推荐省略 <html> 和 <body> 标签。

<html> 元素是文本的根元素。它是规定页面语言的理想位置。

<!DOCTYPE html> <html> 

对于可访问应用程序(屏幕阅读器)和搜索引擎,声明语言很重要。

省略 <html> 或 <body> c可令 DOM 和 XML 软件崩溃。

省略 <body> 会在老式浏览器(IE9)中产生错误。

省略 <head>?

在 HTML5 标准中,<head> 标签也能够被省略。

默认地,浏览器会把 <body> 之前的所有元素添加到默认的 <head> 元素。

通过省略 <head> 标签,您能够降低 HTML 的复杂性:

示例

<!DOCTYPE html> <html> <title>Page Title</title> <body>   <h1>This is a heading</h1>   <p>This is a paragraph.</p> </body> </html> 

亲自试一试

注释:对于 web 开发者,省略标签的做法是陌生的。建立规则需要时间。

元数据

<title> 元素在 HTML5 中是必需的。请尽可能制作有意义的标题。

<title>HTML5 Syntax and Coding Style</title>

为了确保恰当的解释,以及正确的搜索引擎索引,在文档中对语言和字符编码的定义越早越好:

<!DOCTYPE html> <html> <head>   <meta charset="UTF-8">   <title>HTML5 Syntax and Coding Style</title> </head> 

HTML 注释

短注释应该在单行中书写,并在 <!-- 之后增加一个空格,在 <!-- 之前增加一个空格:

<!-- This is a comment -->

长注释,跨越多行,应该通过 <!-- 和 --> 在独立的行中书写:

<!--    This is a long comment example. This is a long comment example. This is a long comment example.   This is a long comment example. This is a long comment example. This is a long comment example. --> 

长注释更易观察,如果它们被缩进两个空格的话。

样式表

请使用简单的语法来链接样式表(type 属性不是必需的):

<link rel="stylesheet" href="styles.css">

短规则可以压缩为一行,就像这样:

p.into {font-family:"Verdana"; font-size:16em;}

长规则应该分为多行:

body {   background-color: lightgrey;   font-family: "Arial Black", Helvetica, sans-serif;   font-size: 16em;   color: black; } 
  • 开括号与选择器位于同一行
  • 在开括号之前用一个空格
  • 使用两个字符的缩进
  • 在每个属性与其值之间使用冒号加一个空格
  • 在每个逗号或分号之后使用空格
  • 在每个属性值对(包括最后一个)之后使用分号
  • 只在值包含空格时使用引号来包围值
  • 把闭括号放在新的一行,之前不用空格
  • 避免每行超过 80 个字符

注释:在逗号或分号之后添加空格,是所有书写类型的通用规则。

在 HTML 中加载 JavaScript

请使用简单的语法来加载外部脚本(type 属性不是必需的):

<script src="myscript.js">

通过 JavaScript 访问 HTML 元素

使用“不整洁”的 HTML 样式的后果,是可能会导致 JavaScript 错误。

这两个 JavaScript 语句会产生不同的结果:

var obj = getElementById("Demo") var obj = getElementById("demo") 

亲自试一试

如果可能,请在 HTML 中使用(与 JavaScript)相同的命名约定。

请访问 JavaScript 样式指南。

使用小写文件名

大多数 web 服务器(Apache、Unix)对文件名的大小写敏感:

不能以 london.jpg 访问 London.jpg。

其他 web 服务器(微软,IIS)对大小写不敏感:

能够以 london.jpg 或 London.jpg 访问 London.jpg。

如果使用混合大小写,那么您必须保持高度的一致性。

如果您从对大小写不敏感的服务器转到一台对大小写敏感的服务器上,这些小错误将破坏您的网站。

为了避免这些问题,请始终使用小写文件名(如果可以的话)。

文件扩展名

HTML 文件名应该使用扩展名 .html(而不是 .htm)。

CSS 文件应该使用扩展名 .css

JavaScript 文件应该使用扩展名 .js



分类检索
娱乐休闲
音乐 在线音乐 轻音乐 DJ/舞曲 原创/翻唱 音乐搜索 音乐周边 唱片公司 影视 影视资讯 在线影视 影视下载 视频播客 网络电视 游戏 游戏综合 网络游戏 网页游戏 单机游戏 小游戏 游戏论坛 游戏下载 单机电玩 游戏周边 游戏厂商 动漫 动漫综合 动漫下载 动漫原创 图片 图片图库 美女写真 相册贴图 电子贺卡 小说 小说阅读 小说搜索 电子书 文化文学 作家作品 笑话 幽默笑话 搞笑视频 星相 12星座 算命占卜 生肖/解梦 风水玄学 心理测试 交友 交友综合 情感爱情 婚嫁婚介 新闻 新闻综合 知名媒体 报刊杂志 时事论坛 各地媒体 体育 体育综合 NBA专区 足球专区 其他体育项目 体育相关 体育协会 军事 军事资讯 军事论坛 摄影 摄影综合 摄影论坛 明星 娱乐资讯 大陆明星 港台明星 欧美明星 日韩明星 追星一族 解读明星 社区 综合社区 SNS社区 特色论坛 校园BBS 地方论坛 直播
电脑网络
互联网 互联网资讯 门户名站 组织协会 IT IT资讯 IT博客 网络编辑 硬件 硬件资讯 硬件评测 硬件论坛 驱动程序 硬件相关 数码 数码资讯 数码论坛 数码相关 软件 软件资讯 软件下载 装机软件 软件论坛 软件评测 软件相关 电脑 电脑资讯 电脑报刊 网管技术 编程 程序编程 ASP/ASP.NET PHP JSP/JAVA CGI WAP VB C/C++/C# DELPHI Python LINUX/UNIX JS/AJAX WEB开发 数据库开发 嵌入式开发 源码下载 设计 设计综合 设计素材 设计竞标 平面设计 CG/FLASH 交互设计 室内设计 建筑设计 工业设计 服装设计 字体下载 建站 域名主机 网页制作 论坛/CMS 站长 站长资讯 站长工具 流量统计 网赚联盟 搜索 搜索引擎 特色搜索 网址 网址导航 分类目录 博客 博客 微博 网摘 RSS订阅 网摘/书签 资源 免费信息 电子邮箱 网络硬盘 网络相册 在线翻译 域名/DNS 主页/网店/论坛 桌面 桌面壁纸 主题屏保 分享 社会化分享 聊天 聊天工具 聊天室 QQ空间代码 QQ相关 黑客 黑客安全 黑客组织 黑客论坛 在线工具 杀毒 病毒防治 安全防毒论坛
生活服务
购物 综合购物 团购导航 导购打折 数码家电 图书音像 衣服首饰 鞋子箱包 美容化妆 母婴儿童 两性情趣 医药保健 食品饮料 礼品鲜花 珠宝眼镜 文体办公 日用家居 数字点卡 电子支付 彩票 在线购彩 福利彩票 体育彩票 天气 天气综合 交通 电子地图 道路交通 公交公司 航空公司 各地铁路 股票 财经资讯 股票综合 股票交流 财经报刊 证券公司 基金 投资理财 金融综合 基金资讯 证券债券 外汇资讯 期货资讯 黄金资讯 风险投资 基金公司 银行 银行网站 各地银行 港澳台银行 外资银行 银行机构 信用卡资讯 保险 保险资讯 保险公司 房产 房产综合 家居装修 地方房产 汽车 汽车资讯 报价交易 二手车 汽车配件 汽车论坛 用车学车 地方汽车 汽车厂商 电视 电视资讯 在线电视 在线电台 电视台 广播电台 手机 手机综合 手机报价 手机论坛 手机电影 手机游戏 手机软件 手机主题 短信图铃 通信 通信综合 通信运营商 各地电信 各地移动 各地联通 各地铁通 健康 医疗健康 寻医问药 健康养生 两性健康 心理健康 医院诊所 医学研究 药品器械 医院管理 疾病预防 美食 饮食营养 菜谱食谱 电子优惠券 宠物 宠物综合 猫猫狗狗 水族爬虫 宠物鸟 花草花卉 宠物用品 宠物医院 动物保护 儿童 儿童乐园 母婴亲子 亲子论坛 女性 女性综合 美容减肥 男人世界 时尚 时尚资讯 时尚杂志 奢侈品 旅游 旅游资讯 旅行社/酒店/机票 旅游景点 自助户外游 地方旅游网 生活 生活名站 网上记账 消费者协会 品牌 服装鞋帽 珠宝配饰 美容化妆 生活日用 餐饮食品 数码家电 文体办公 药品器械 查询 日常生活 交通旅游 金融理财 学习教育 电脑网络 综合其他 招聘 人才招聘 行业人才 地方人才 法律 法律综合 法律法规 知识产权 法律援助
文化教育
教育 教育综合 基础教育 高等教育 成人教育 职业教育 特殊教育 远程教育 教育科研 知识 百科问答 文档网站 外语 英语学习 其他语种 在线翻译 考试 考试招生 高考/自考/成考 公务员考试 考研 英语类考试(托福/雅思/GRE/PETS) 计算机考试 专业类考试 各地考试信息 论文 免费论文 课件资源 大学 国内高校 国外高校 校园 校园综合 同学录 图书馆 图书馆院 留学 出国留学 曲艺 相声/小品/评书 舞蹈 乐器 魔术杂技 地方戏 爱好 艺术鉴赏 收藏艺术 美术绘画 书法艺术 纹身 科技 科研机构 社会科学 自然科学 农业科学 工程科学 科普知识 发明专利 人文 社会文化 历史人文 历史名人 宗教 佛教 道教 基督教 伊斯兰教 公益 公益项目 公益基金 公益资讯
综合其他
政府 国家政府机构 地方政府机构 国际/区域组织 驻华使馆/领事馆 各国政府 行业 商业贸易 农林牧渔 物流快递 食品饮料 服装鞋帽 礼品玩具 建筑建材 家电音响 电子安防 能源电力 机械仪表 化学工业 纺织皮革 冶金矿产 五金模具 广告营销 印刷包装 出版发行 环保绿化 黄页 黄页大全 企业网站 酷站 美图分享 晒搭配 吃货据点 发现好音乐 新鲜科技 创意设计 爱旅行 爱手工 新潮社区 趣味测试 其他 菜鸟