为html标签使用大写字母是不是很糟糕?

时间:2013-11-06 09:40:01

标签: html uppercase lowercase

最佳做法是什么?

 <HTML> or <html>

为什么我们应该坚持一个特定的案例?

但是,所有浏览器似乎都会解释这两种情况并返回预期的输出。

7 个答案:

答案 0 :(得分:46)

小写的“要求”是xHTML的遗产,它明确要求它。

另一方面,普通的旧HTML不遵循XML的严格结构要求,因此不具有使用案例的固定要求

然而,无论如何,开发人员倾向于坚持使用小写作为惯例,主要是因为当你正在处理它时,它更容易阅读,并且更容易打字。但这只是一个惯例;没有什么可以强迫它的。如果您现有的代码包含大写标签,那么它们就可以正常工作,并且无法阻止您继续以这种方式编写标签。

另外需要注意的是:在所有浏览器中,当浏览器加载HTML文档并对其进行解析时,它会将其转换为DOM(Document对象模型)。如果您随后使用浏览器的内置开发人员工具来检查站点,那么当您查看DOM时,DOM中的所有元素都将显示为小写,无论它们是如何在实际源代码中编写的。

因此,如果您坚持使用小写,您会发现使用开发人员工具更容易,因为您在DOM视图中看到的代码将与您编写的源代码更加一致。 / p>

答案 1 :(得分:23)

规范的唯一相关部分说:

  • HTML标记和属性名称不区分大小写。
  • XHTML标记和属性名称区分大小写,必须为小写

任何标准中都没有提到的东西:

  • 通常认为小写更容易阅读
  • 小写是最常见的(以及人们习惯使用的内容)
  • 按住shift键或切换CAPS LOCK一直很痛苦

答案 2 :(得分:3)

可能非常轻微,我没有证据支持它,但我打赌使用小写标签会非常轻微地改善页面的gzip / deflate压缩性,因为大多数文本也可能是小写的。

答案 3 :(得分:2)

使用一个特定的案例很重要,以防止混淆。但是使用大写或小写不会改变一件事。

答案 4 :(得分:1)

基本上HTML不区分大小写。在输入HTML标签或HTML标签属性时,您可以使用小写或大写,但需要使用XHTML小写。为了准备将来的升级,请使用小写HTML标记和HTML标记属性

答案 5 :(得分:1)

前端框架可能依赖小写约定

其他答案是正确的,但编写小写 HTML 的另一个原因(可能比“坚持约定”更重要)是某些前端框架将依赖此约定来区分 HTML 和用户定义的组件或模板(通常以大写字母开头)。 ReactSvelteAstro 是这方面的一些示例,如下所示。

这意味着,如果您正在使用前端框架,则可能无法用大写字母编写 HTML 标签。如果您不使用前端框架,那么将来使用前端框架可能会困难得多。

示例:

React

<块引用>

当元素类型以小写字母开头时,它指的是 内置组件如 <div><span> 并产生字符串 'div''span' 传递给 React.createElement。以 a 开头的类型 大写字母如 <Foo /> 编译为 React.createElement(Foo) 和 对应于您的 JavaScript 文件中定义或导入的组件。

<块引用>

我们建议使用大写字母命名组件。如果您确实有一个以小写字母开头的组件,请在将其用于 JSX 之前将其分配给一个大写的变量。

Svelte

<块引用>

一个小写的标签,比如 ,表示一个普通的 HTML 元素。大写的标签,例如 <Widget><Namespace.Widget>,表示一个组件。

Astro

<块引用>

请注意,Astro 组件必须以大写字母开头。 Astro 将使用它来区分原生 HTML 元素(forminput 等)和您的自定义 Astro 组件。

答案 6 :(得分:0)

我更喜欢小写字母,因为这是HTML 5.2规范所使用的: https://www.w3.org/TR/html52/introduction.html#a-quick-introduction-to-html

HTML 4.0规范以大写形式显示HTML标记,但规范本身在其HTML代码中使用小写标记: https://www.w3.org/TR/html40/struct/global.html

Java的javax.swing.text.html.Html.Tag类使用小写字母(即使Java常量为大写字母,这与Java的命名约定一致)。

Go的godoc工具使用小写字母。