深入了解HTML中的编码规范

深入了解HTML中的编码规范

本文档的目标是使HTML代码风格保持一致,容易被理解和被维护,如果自己没有这种习惯,请好好选择你的IDE,别再用“文本编辑器”。

1 代码风格

1.1 缩进与换行

[强制] 使用 4 个空格做为一个缩进层级,不允许使用 2 个空格 或 tab 字符。

示例:

立即学习“前端免费学习笔记(深入)”;

  • first
  • second

[建议] 每行不得超过 120 个字符。

解释:

过长的代码不容易阅读与维护。但是考虑到 HTML 的特殊性,不做硬性要求,sublime、phpstorm、wenstorm等都有标尺功能。

1.2 命名

[强制] class 必须单词全字母小写,单词间以 - 分隔。

[强制] class 必须代表相应模块或部件的内容或功能,不得以样式信息进行命名。

示例:

立即学习“前端免费学习笔记(深入)”;

[强制] 元素 id 必须保证页面唯一。

解释:

同一个页面中,不同的元素包含相同的 id,不符合 id 的属性含义。并且使用 document.getElementById 时可能导致难以追查的问题。

[建议] id 建议单词全字母小写,单词间以 - 分隔。同项目必须保持风格一致。

[建议] idclass 命名,在避免冲突并描述清楚的前提下尽可能短。

示例:

立即学习“前端免费学习笔记(深入)”;

[强制] 同一页面,应避免使用相同的 nameid

解释:

IE 浏览器会混淆元素的 id 和 name 属性, document.getElementById 可能获得不期望的元素。所以在对元素的 id 与 name 属性的命名需要非常小心。

一个比较好的实践是,为 id 和 name 使用不同的命名法。

示例:

立即学习“前端免费学习笔记(深入)”;

// IE6 将显示 INPUTalert(document.getElementById('foo').tagName);

1.3 标签

[强制] 标签名必须使用小写字母。

示例:

立即学习“前端免费学习笔记(深入)”;

Hello StyleGuide!

Hello StyleGuide!

[强制] 对于无需自闭合的标签,不允许自闭合。

解释:

常见无需自闭合标签有input、br、img、hr等。

示例:

立即学习“前端免费学习笔记(深入)”;

[强制] 对 HTML5 中规定允许省略的闭合标签,不允许省略闭合标签。

示例:

立即学习“前端免费学习笔记(深入)”;

  • first
  • second
first second

[强制] 标签使用必须符合标签嵌套规则。

解释:

比如 div 不得置于 p 中,tbody 必须置于 table 中。

示例:

立即学习“前端免费学习笔记(深入)”;

[建议] HTML 标签的使用应该遵循标签的语义。

解释:

下面是常见标签语义

p – 段落

h1,h2,h3,h4,h5,h6 – 层级标题

strong,em – 强调

ins – 插入

del – 删除

abbr – 缩写

code – 代码标识

cite – 引述来源作品的标题

q – 引用

blockquote – 一段或长篇引用

ul – 无序列表

ol – 有序列表

dl,dt,dd – 定义列表

示例:

立即学习“前端免费学习笔记(深入)”;

Esprima serves as an important building block for some JavaScript language tools.

Esprima serves as an important building block for some JavaScript language tools.

[建议] 在 CSS 可以实现相同需求的情况下不得使用表格进行布局。

解释:

在兼容性允许的情况下应尽量保持语义正确性。对网格对齐和拉伸性有严格要求的场景允许例外,如多列复杂表单。

[建议] 标签的使用应尽量简洁,减少不必要的标签。

示例:

立即学习“前端免费学习笔记(深入)”;

@@##@@    @@##@@

1.4 属性

[强制] 属性名必须使用小写字母。

示例:

立即学习“前端免费学习笔记(深入)”;

...
...

[强制] 属性值必须用双引号包围。

解释:

不允许使用单引号,不允许不使用引号。

示例:

立即学习“前端免费学习笔记(深入)”;

[建议] 布尔类型的属性,建议不添加属性值。

示例:

立即学习“前端免费学习笔记(深入)”;

[建议] 自定义属性建议以 xxx- 为前缀,推荐使用 data-

解释:

使用前缀有助于区分自定义属性和标准定义的属性。

示例:

立即学习“前端免费学习笔记(深入)”;

    2 通用

    2.1 DOCTYPE

    [强制] 使用 HTML5doctype 来启用标准模式,建议使用大写的 DOCTYPE

    示例:

    立即学习“前端免费学习笔记(深入)”;

    
    

    [建议] 启用 IE Edge 和 Chrome Frame 模式。

    示例:

    立即学习“前端免费学习笔记(深入)”;

    
    

    [建议] 在 html 标签上设置正确的 lang 属性。

    解释:

    有助于提高页面的可访问性,如:让语音合成工具确定其所应该采用的发音,令翻译工具确定其翻译语言等。

    示例:

    立即学习“前端免费学习笔记(深入)”;

    
    

    [建议] 开启双核浏览器的 webkit 内核进行渲染。

    解释:

    见浏览器内核控制Meta标签说明文档 一文。

    示例:

    立即学习“前端免费学习笔记(深入)”;

    
    

    [建议] 开启浏览器的DNS预获取。

    解释:

    减少DNS请求次数、对DNS进行预获取。

    示例:

    立即学习“前端免费学习笔记(深入)”;

    
    

    2.2 编码

    [强制] 页面必须使用精简形式,明确指定字符编码。指定字符编码的 meta 必须是 head 的第一个直接子元素。

    解释:

    见 HTML5 Charset能用吗 一文。

    示例:

    立即学习“前端免费学习笔记(深入)”;

                        ......                ......    

    [建议] HTML 文件使用无 BOMUTF-8 编码。

    解释:

    UTF-8 编码具有更广泛的适应性。BOM 在使用程序或工具处理文件时可能造成不必要的干扰。

    2.3 CSS和JavaScript引入

    [强制] 引入 CSS 时必须指明 rel="stylesheet"

    示例:

    立即学习“前端免费学习笔记(深入)”;

    
    

    [建议] 引入 CSSJavaScript 时无须指明 type 属性。

    解释:

    text/csstext/javascript 是 type 的默认值。

    [建议] 展现定义放置于外部 CSS 中,行为定义放置于外部 JavaScript 中。

    解释:

    结构-样式-行为的代码分离,对于提高代码的可阅读性和维护性都有好处。

    [建议] 在 head 中引入页面需要的所有 CSS 资源。

    解释:

    在页面渲染的过程中,新的CSS可能导致元素的样式重新计算和绘制,页面闪烁。

    [建议] JavaScript 应当放在页面末尾,或采用异步加载。

    解释:

    将 script 放在页面中间将阻断页面的渲染。出于性能方面的考虑,如非必要,请遵守此条建议。

    示例:

    立即学习“前端免费学习笔记(深入)”;

            

    [强制] 引用静态资源的 URL 协议部分与页面相同,建议省略协议前缀。

    示例:

    立即学习“前端免费学习笔记(深入)”;

    
    

    3 Head

    3.1 title

    [强制] 页面必须包含 title 标签声明标题。

    [强制] title 必须作为 head 的直接子元素,并紧随 声明之后。

    解释:

    title 中如果包含 ascii 之外的字符,浏览器需要知道字符编码类型才能进行解码,否则可能导致乱码。

    示例:

    立即学习“前端免费学习笔记(深入)”;

                        页面标题

    4 图片

    [强制] 禁止 imgsrc 取值为空。延迟加载的图片也要增加默认的 src

    解释:

    src 取值为空,会导致部分浏览器重新加载一次当前页面,参考:https://developer.yahoo.com/performance/rules.html#emptysrc

    [建议] 避免为 img 添加不必要的 title 属性。

    解释:

    多余的 title 影响看图体验,并且增加了页面尺寸。

    [建议] 为重要图片添加 alt 属性。

    解释:

    可以提高图片加载失败时的用户体验。

    [建议] 添加 widthheight 属性,以避免页面抖动。

    [建议] 有下载需求的图片采用 img 标签实现,无下载需求的图片采用 CSS 背景图实现。

    解释:

    产品 logo、用户头像、用户产生的图片等有潜在下载需求的图片,以 img 形式实现,能方便用户下载。

    无下载需求的图片,比如:icon、背景、代码使用的图片等,尽可能采用 css 背景图实现。

    5 表单

    5.1 控件标题

    [强制] 有文本标题的控件必须使用 label 标签将其与其标题相关联。

    解释:

    有两种方式:

    将控件置于 label 内。

    label 的 for 属性指向控件的 id。

    推荐使用第一种,减少不必要的 id。如果 DOM 结构不允许直接嵌套,则应使用第二种。

    示例:

    立即学习“前端免费学习笔记(深入)”;

     

    5.2 按钮

    [强制] 使用 button 元素时必须指明 type 属性值。

    解释:

    button 元素的默认 type 为 submit,如果被置于 form 元素中,点击后将导致表单提交。为显示区分其作用方便理解,必须给出 type 属性。

    示例:

    立即学习“前端免费学习笔记(深入)”;

    [建议] 尽量不要使用按钮类元素的 name 属性。

    解释:

    由于浏览器兼容性问题,使用按钮的 name 属性会带来许多难以发现的问题。具体情况可参考此文。

    5.3 可访问性 (A11Y)

    [建议] 负责主要功能的按钮在 DOM 中的顺序应靠前。

    解释:

    负责主要功能的按钮应相对靠前,以提高可访问性。如果在 CSS 中指定了 float: right 则可能导致视觉上主按钮在前,而 DOM 中主按钮靠后的情况。

    示例:

    立即学习“前端免费学习笔记(深入)”;

    .buttons .button-group {    float: right;}
    .buttons button { float: right;}

    [建议] 当使用 JavaScript 进行表单提交时,如果条件允许,应使原生提交功能正常工作。

    解释:

    当浏览器 JS 运行错误或关闭 JS 时,提交功能将无法工作。如果正确指定了 form 元素的 action 属性和表单控件的 name 属性时,提交仍可继续进行。

    示例:

    立即学习“前端免费学习笔记(深入)”;

        

    [建议] 在针对移动设备开发的页面时,根据内容类型指定输入框的 type 属性。

    解释:

    根据内容类型指定输入框类型,能获得能友好的输入体验。

    示例:

    立即学习“前端免费学习笔记(深入)”;

    
    

    6 模板中的 HTML

    [建议] 模板代码的缩进优先保证 HTML 代码的缩进规则。

    示例:

    立即学习“前端免费学习笔记(深入)”;

    • {name}
    • {$item.name}

    [建议] 模板代码应以保证 HTML 单个标签语法的正确性为基本原则。

    示例:

    立即学习“前端免费学习笔记(深入)”;

    <li class=" selected">{type_name}<li >{type_name}

    [建议] 模板代码应以保证结束符的闭合名

    示例:

    立即学习“前端免费学习笔记(深入)”;

    • {name}:¥{unit_price}
    • {name}:¥{unit_price}

    [建议] 在循环处理模板数据构造表格时,若要求每行输出固定的个数,建议先将数据分组,之后再循环输出,模板只是做数据展示,别加插太多业务逻辑(其他数据构造同理)。

    示例:

    立即学习“前端免费学习笔记(深入)”;

    {name}:¥{unit_price}
    {name}:¥{unit_price}
    {name}:¥{price}
    {name}: ¥{unit_price} ¥{total_price}

    深入了解HTML中的编码规范深入了解HTML中的编码规范

    以上就是深入了解HTML中的编码规范的详细内容,更多请关注创想鸟其它相关文章!

    版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
    如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
    发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1548567.html

    (0)
    打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
    上一篇 2025年12月21日 20:02:45
    下一篇 2025年12月21日 20:02:57

    相关推荐

    • 学会从头开始学习CSS,掌握制作基本网页框架的技巧

      从零开始学习CSS,掌握网页基本框架制作技巧 前言: 在现今互联网时代,网页设计和开发是一个非常重要的技能。而学习CSS(层叠样式表)是掌握网页设计的关键之一。CSS不仅可以为网页添加样式和布局,还可以为用户呈现独特且具有吸引力的页面效果。在本文中,我将为您介绍一些基本的CSS知识,以及一些常用的代…

      2025年12月24日
      200
    • 揭秘Web标准涵盖的语言:了解网页开发必备的语言范围

      在当今数字时代,互联网成为了人们生活中不可或缺的一部分。作为互联网的基本构成单位,网页承载着我们获取和分享信息的重要任务。而网页开发作为一门独特的技术,离不开一些必备的语言。本文将揭秘Web标准涵盖的语言,让我们一起了解网页开发所需的语言范围。 首先,HTML(HyperText Markup La…

      2025年12月24日
      000
    • 揭开Web开发的语言之谜:了解构建网页所需的语言有哪些?

      Web标准中的语言大揭秘:掌握网页开发所需的语言有哪些? 随着互联网的快速发展,网页开发已经成为人们重要的职业之一。而要成为一名优秀的网页开发者,掌握网页开发所需的语言是必不可少的。本文将为大家揭示Web标准中的语言大揭秘,介绍网页开发所需的主要语言。 HTML(超文本标记语言)HTML是网页开发的…

      2025年12月24日
      400
    • 常用的网页开发语言:了解Web标准的要点

      了解Web标准的语言要点:常见的哪些语言应用在网页开发中? 随着互联网的不断发展,网页已经成为人们获取信息和交流的重要途径。而要实现一个高质量、易用的网页,离不开一种被广泛接受的Web标准。Web标准的制定和应用,涉及到多种语言和技术,本文将介绍常见的几种语言在网页开发中的应用。 首先,HTML(H…

      2025年12月24日
      000
    • 网页开发中常见的Web标准语言有哪些?

      探索Web标准语言的世界:网页开发中常用的语言有哪些? 在现代社会中,互联网的普及程度越来越高,网页已成为人们获取资讯、娱乐、交流的重要途径。而网页的开发离不开各种编程语言的应用和支持。在这个虚拟世界的网络,有许多被广泛应用的标准化语言,用于为用户提供优质的网页体验。本文将探索网页开发中常用的语言,…

      2025年12月24日
      000
    • 深入探究Web标准语言的范围,涵盖了哪些语言?

      Web标准是指互联网上的各个网页所需遵循的一系列规范,确保网页在不同的浏览器和设备上能够正确地显示和运行。这些标准包括HTML、CSS和JavaScript等语言。本文将深入解析Web标准涵盖的语言范围。 首先,HTML(HyperText Markup Language)是构建网页的基础语言。它使…

      2025年12月24日
      000
    • CSS 超链接属性解析:text-decoration 和 color

      CSS 超链接属性解析:text-decoration 和 color 超链接是网页中常用的元素之一,它能够在不同页面之间建立连接。为了使超链接在页面中有明显的标识和吸引力,CSS 提供了一些属性来调整超链接的样式。本文将重点介绍 text-decoration 和 color 这两个与超链接相关的…

      2025年12月24日
      000
    • 看看这些前端面试题,带你搞定高频知识点(一)

      每天10道题,100天后,搞定所有前端面试的高频知识点,加油!!!,在看文章的同时,希望不要直接看答案,先思考一下自己会不会,如果会,自己的答案是什么?想过之后再与答案比对,是不是会更好一点,当然如果你有比我更好的答案,欢迎评论区留言,一起探讨技术之美。 面试官:给定一个元素,如何实现水平垂直居中?…

      2025年12月24日 好文分享
      300
    • 看看这些前端面试题,带你搞定高频知识点(二)

      每天10道题,100天后,搞定所有前端面试的高频知识点,加油!!!,在看文章的同时,希望不要直接看答案,先思考一下自己会不会,如果会,自己的答案是什么?想过之后再与答案比对,是不是会更好一点,当然如果你有比我更好的答案,欢迎评论区留言,一起探讨技术之美。 面试官:页面导入样式时,使用 link 和 …

      2025年12月24日 好文分享
      200
    • 看看这些前端面试题,带你搞定高频知识点(三)

      每天10道题,100天后,搞定所有前端面试的高频知识点,加油!!!,在看文章的同时,希望不要直接看答案,先思考一下自己会不会,如果会,自己的答案是什么?想过之后再与答案比对,是不是会更好一点,当然如果你有比我更好的答案,欢迎评论区留言,一起探讨技术之美。 面试官:清除浮动有哪些方式? 我:呃~,浮动…

      2025年12月24日 好文分享
      000
    • 看看这些前端面试题,带你搞定高频知识点(四)

      每天10道题,100天后,搞定所有前端面试的高频知识点,加油!!!,在看文章的同时,希望不要直接看答案,先思考一下自己会不会,如果会,自己的答案是什么?想过之后再与答案比对,是不是会更好一点,当然如果你有比我更好的答案,欢迎评论区留言,一起探讨技术之美。 面试官:请你谈一下自适应(适配)的方案 我:…

      2025年12月24日 好文分享
      000
    • 看看这些前端面试题,带你搞定高频知识点(五)

      每天10道题,100天后,搞定所有前端面试的高频知识点,加油!!!,在看文章的同时,希望不要直接看答案,先思考一下自己会不会,如果会,自己的答案是什么?想过之后再与答案比对,是不是会更好一点,当然如果你有比我更好的答案,欢迎评论区留言,一起探讨技术之美。 面试官:css 如何实现左侧固定 300px…

      2025年12月24日 好文分享
      000
    • HTML+CSS+JS实现雪花飘扬(代码分享)

      使用html+css+js如何实现下雪特效?下面本篇文章给大家分享一个html+css+js实现雪花飘扬的示例,希望对大家有所帮助。 很多南方的小伙伴可能没怎么见过或者从来没见过下雪,今天我给大家带来一个小Demo,模拟了下雪场景,首先让我们看一下运行效果 可以点击看看在线运行:http://hai…

      2025年12月24日 好文分享
      500
    • 分享20个首页流行布局样式,总有一款适合你!

      本篇文章给大家分享20个首页流行布局样式,总有一款适合你,快来收藏试试吧,希望对大家有所帮助! 有时我们会在网站上遇到一些内容布局问题,如文字对齐、图片设计与内容和谐、为文章选择合适的字体……在今天的文章中,介绍一些设计精美的创意布局,let‘s  开始。 代号 001 源码…

      2025年12月24日 好文分享
      000
    • css如何让div悬浮于另一个div上

      让div悬浮于另一个div上的方法:1、给两个div元素添加“position:absolute”绝对定位样式;2、给其中一个div元素添加“{top:距离页面顶部距离;left:距离页面左侧距离;}”样式使其浮动在另一个div元素上即可。 本教程操作环境:windows7系统、CSS3&&…

      2025年12月24日 好文分享
      000
    • css怎样实现字母不到一行就换行

      css字母不到一行就换行的方法:1、给元素添加“word-break:break-word;”样式,使其以单词为单位换行;2、给元素添加“word-break:break-all;”样式,使其以字母为单位换行。 本教程操作环境:windows7系统、CSS3&&HTML5版、Dell…

      2025年12月24日
      000
    • css里怎样设置字体大小和字体颜色

      在css中,可以使用“font-size”和color属性设置字体大小和字体颜色,只需要给字体元素添加“{font-size: 字体大小值;color: 颜色值;}”样式即可。 本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。 css里设置字体大小…

      2025年12月24日
      000
    • css边框变圆角边框怎么写

      写法:1、给边框添加“border-radius:圆角值;”样式统一设置圆角大小;2、添加“border-top-left-radius:圆角值;”、“border-top-right-radius:圆角值;”等样式分别设置四角圆角大小。 本教程操作环境:windows7系统、CSS3&&a…

      2025年12月24日
      000
    • css如何使鼠标悬停变色

      在css中,可以通过hover选择器和color属性实现鼠标悬停变色的效果,hover选择器用于选择鼠标指针浮动在上面的元素,color属性用于设置悬停时的颜色;语法“:hover{color:悬停颜色;}”。 本教程操作环境:windows7系统、CSS3&&HTML5版、Dell…

      2025年12月24日 好文分享
      000
    • 手把手教你使用css制作表格边框设置效果(附代码)

      之前的文章《一招教你使用css3制作按钮添加动态效果(代码分享)》中,给大家介绍了怎么使用css3制作按钮添加动态效果。下面本篇文章给大家介绍怎么使用css制作表格边框设置效果,我们一起看看怎么做。 网页中常常有这样的表格布局边框,给大家分享一下看效果图看完效果,我们来研究一下是怎么实现呢,给大家用…

      2025年12月24日 好文分享
      000

    发表回复

    登录后才能评论
    关注微信