我找不到如何在多行上缩进HTML代码的指南,而我目前使用的解决方案并不能让我满意。
想象一下,我们有一个非常长的div
声明,例如:
<div data-something data-something-else data-is-html="true" class="html-class another-html-class yet-another-html-class a-class-that-makes-this-declaration-extremely-long" id="just-a-regular-id">
为了避免在找到这些巨大的线条时水平滚动,我通常会以下列方式缩进它们:
<div
data-something
data-something-else
data-is-html="true"
class="html-class another-html-class yet-another-html-class a-class-that-makes-
this-declaration-extremely-long"
id="just-a-regular-id"
>
<p>Some element inside the DIV</p>
</div>
我认为在可读性方面效果很好,但我有些担忧。
>
保留在最后一个元素内联的开始HTML标记中,或者像我在上面的示例中那样在新行中保留更多可读性?如果你知道一些关于HTML的样式指南的好资源,请随意分享,因为我没有在网上找到任何特定内容。
答案 0 :(得分:1)
我个人认为这是一个很好的做法,我觉得使用多行可读性更高。我对我制作的网站使用相同的约定。 在我的大学里,我们教授相同的惯例,并明确指出:
避免长代码行
使用HTML编辑器时,向右和向左滚动以阅读HTML代码是不方便的。 尽量避免使用长度超过80个字符的代码行。
其他约定可以在这里找到: https://www.w3schools.com/html/html5_syntax.asp
答案 1 :(得分:1)
您会发现可读性更强的是,在开头的HTML标记中与最后一个元素内联,或者像我在上面的示例中那样在新行中保留结束>?
我认为离开结尾>
更具可读性,但是在使用vscode时无法正确折叠。
答案 2 :(得分:0)
Google HTML/CSS Style Guide建议在明显提高可读性时将长行换行,并提供三种技术,每种技术包括以>
结尾的最后一行属性:
<div class="my-class" id="my-id" data-a="my value for data attribute a"
data-b="my value for data attribute b" data-c="my value for data attribute c">
The content of my div.
</div>
<div
class="my-class"
id="my-id"
data-a="my value for data attribute a"
data-b="my value for data attribute b"
data-c="my value for data attribute c">
The content of my div.
</div>
<element-with-long-name class="my-class"
id="my-id"
data-a="my value for data attribute a"
data-b="my value for data attribute b"
data-c="my value for data attribute c">
</element-with-long-name>
我认为,当元素包含内容时,#3不会提高可读性。
答案 3 :(得分:0)
以下是我的首选方法:
<div
class="my-class"
id="my-id"
data-a="my value for data attribute a"
data-b="my value for data attribute b"
data-c="my value for data attribute c"
>The content of my div.
</div>
这里的关键细节是结束>
与实际内容之间没有空格。
以下所有示例可以为checked online:
€<span itemprop="price">13.50</span>
得出€13.50
€<span
itemprop="price"
Arbitrary carriage returns and spaces here
BUT before closing the tag
>13.50
</span>
也会产生€13.50
但是
€<span
itemprop="price"> <!-- Carriage return + spaces in this line -->
13.50
</span>
或
€ <!-- Carriage return + spaces in this line -->
<span
itemprop="price"> <!-- Carriage return + spaces in this line -->
13.50
</span>
两者都导致€ 13.50
(请注意差距!)