HTML 属性排序

HTML attribute ordering

这可能是一个主观问题(我希望不是)... 我使用 Visual Studio 开发网页设计和应用程序,通常 Bootstrap.当我drag/drop一个CSS文件变成一个HTML文件时,Visual Studio生成如下代码

<link href="styles.css" rel="stylehseet" />

Bootstrap template 也使用此属性排序。

就我个人而言,我更喜欢让我的属性在前面保持固定宽度,因为一切看起来更整洁;以我的排序与 Visual Studio & Bootstrap 的排序为例:

我的

<link type="text/css" rel="stylesheet" href="bootstrap.min.css" />
<link type="text/css" rel="stylesheet" href="mystyles.css" />

<script type="text/javascript" src="jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="foobar.js"></script>

他们的

<link href="bootstrap.min.css" rel="stylesheet" />
<link href="mystyles.css" rel="stylesheet" />

<script src="jquery-1.9.1.min.js" type="text/javascript"></script>
<script src="foobar.js" type="text/javascript"></script>

看看我的 linkscript 标签中的属性是如何排列的?我认为这在维护文档时看起来更整洁,并且还可以进行块编辑。

所以我想知道的是;这只是个人喜好还是有正当理由将 reltype 放在 hrefsrc 之后?

来自the HTML 4.01 specification

Elements may have associated properties, called attributes, which may have values (by default, or set by authors or scripts). Attribute/value pairs appear before the final ">" of an element's start tag. Any number of (legal) attribute value pairs, separated by spaces, may appear in an element's start tag. They may appear in any order.

我在 HTML 5 规范中找不到任何明确说明的内容,但该规则没有改变。

这只是个人喜好。

对于html 解析器,属性的顺序无关紧要。所以这是你的prefrences。 但他们总是按字母顺序排序和显示属性。 即使您在源代码中排列它们,您也会看到浏览器在开发人员视图中按字母顺序显示它们。

HTML5 标准表示根据上述答案顺序无关紧要。但如果是这种情况,就没有必要缩进代码,而且像 Java 这样的编程语言不关心缩进。

最好的办法是遵循存储库中已经使用的约定。如果您是新手,下面的编码标准提供了很多人都遵循的元素顺序。

Attribute order
HTML attributes should come in this particular order for easier reading of code.

class
id, name
data-*
src, for, type, href, value
title, alt
role, aria-*

Classes make for great reusable components, so they come first. Ids are more specific and should be used sparingly (e.g., for in-page bookmarks), so they come second.

来源:https://codeguide.co/#html-attribute-order