html标签使用大写字母不好吗?

问题描述 投票:0回答:7

最佳实践是什么?

 <HTML> or <html>

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

然而,所有浏览器似乎都可以解释这两种情况并返回预期的输出。

html uppercase lowercase
7个回答
66
投票

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

另一方面,普通的旧 HTML 不遵循 XML 的严格结构要求,因此没有固定的大小写要求。

然而,开发人员倾向于坚持使用小写字母作为约定,主要是因为当您使用它时,它更容易阅读,也更容易打字。但这只是一个约定;没有什么强迫它。如果您现有的代码带有大写标签,它们将起作用,并且没有什么能阻止您继续以这种方式编写标签。

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

出于这个原因,如果您坚持使用小写字母,您会发现使用开发人员工具会更容易,因为您在 DOM 视图中看到的代码将与您编写的源代码更加一致。


29
投票

规范中唯一相关的部分说:

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

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

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

5
投票

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


5
投票

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

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

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

例子:

反应

当一个元素类型以小写字母开头时,它指的是一个 内置组件,如

<div>
<span>
并生成字符串
'div'
'span'
传递给
React.createElement
。以 a 开头的类型 大写字母如
<Foo />
编译为
React.createElement(Foo)
和 对应于您的 JavaScript 文件中定义或导入的组件。

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

苗条

小写标记,如 ,表示常规 HTML 元素。大写的标签,例如

<Widget>
<Namespace.Widget>
,表示一个组件。

天文

请注意,Astro 组件必须 以大写字母开头。 Astro 将使用它来区分原生 HTML 元素(

form
input
等)和您的自定义 Astro 组件。


2
投票

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


2
投票

我更喜欢小写,因为这是 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 工具使用小写。


1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.