pow*_*own 42 html lowercase uppercase
什么是最佳做法?
<HTML> or <html>
Run Code Online (Sandbox Code Playgroud)
为什么我们应该坚持一个特定的案例?
但是,所有浏览器似乎都会解释这两种情况并返回预期的输出.
Spu*_*ley 46
小写的"需求"是xHTML的遗产,它明确要求它.
另一方面,普通的旧HTML不遵循XML的严格结构要求,因此不具有使用案例的固定要求
然而,无论如何,开发人员倾向于坚持使用小写作为惯例,主要是因为当你正在使用它时,它更容易阅读,并且更容易打字.但这只是一个惯例; 没有什么可以强迫它的.如果你有现有的大写标签代码,它们就会起作用,而且你无法阻止你继续以这种方式编写标签.
另外需要注意的是:在所有浏览器中,当浏览器加载HTML文档并对其进行解析时,它会将其转换为DOM(Document对象模型).如果您随后使用浏览器的内置开发人员工具来检查站点,则在查看DOM时,DOM中的所有元素都将显示为小写,无论它们是如何在实际源代码中编写的.
因此,如果您坚持使用小写,您会发现使用开发人员工具更容易,因为您在DOM视图中看到的代码将与您编写的源代码更加一致.
Que*_*tin 24
规范的唯一相关部分说:
任何标准中未提及的东西:
其他答案是正确的,但编写小写 HTML 的另一个原因(可能比“遵守约定”更重要)是一些前端框架/库将依赖这种小写约定来区分 HTML 和用户定义的组件或模板(通常以大写字母开头)。React、Svelte和Astro是这方面的一些示例,如下所示。
这意味着,如果您使用前端框架,则可能无法使用大写字母编写 HTML 标签。如果您不使用前端框架,并且在 HTML 中使用大写字母,那么将来使用前端框架可能会困难得多。
当元素类型以小写字母开头时,它引用内置组件(例如
<div>
or )<span>
,并生成字符串'div'
or 并'span'
传递给React.createElement
。以大写字母开头的类型,例如<Foo />
编译到React.createElement(Foo)
并对应于 JavaScript 文件中定义或导入的组件。
我们建议使用大写字母命名组件。如果您确实有一个以小写字母开头的组件,请在 JSX 中使用它之前将其分配给大写变量。
小写标签(如 )表示常规 HTML 元素。大写的标签(例如
<Widget>
或<Namespace.Widget>
)表示组件。
请注意,Astro 组件必须以大写字母开头。Astro 将使用它来区分本机 HTML 元素(
form
、input
等)和您的自定义 Astro 组件。