是否可以在HTML中插入一个制表符,而不必键入 四次吗?


当前回答

这是一个很难看的解决方法,但是你可以这样做

var tab = '    ';

然后在字符串中使用tab变量。

其他回答

这不是一个直接的答案,但我想在Markdown文档中添加一个标签。我画了一个这样的对象图:

--Parent
    |
    + Child 1

当然,简单的方法是通过缩进4个空格将其标记为代码,然后在Markdown中将其视为代码。

    --Parent
        |
        + Child 1

使用CSS和最佳实践,嵌套、缩进菜单的动态创建如下:

为每个嵌套创建一个样式,如indent1, indent2等,每个嵌套都指定自己的左边距。站点结构应该很少超过三层嵌套。 在自递归函数中使用静态变量(整数)来跟踪递归。 对于每个循环,使用服务器端脚本(如PHP或ASP)将循环号附加到单词indent后,以便这些菜单通过CSS进行适当的格式化。

或者,循环静态变量,使用多个&nbsp;或<pre>标记,或其他字符,视情况而定。

从测试水平制表符,&#09;我发现它不能作为多种&nbsp;在我描述的场景中。你可能会得到不同的结果。

我们可以像这样使用style="white-space:pre":

<p>Text<tab style="white-space:pre">        </tab>: value</p>
<p>Text2<tab style="white-space:pre">   </tab>: value2</p>
<p>Text32<tab style="white-space:pre">  </tab>: value32</p>

里面的空白处填满了制表符,制表符的数量取决于文本。

它看起来是这样的:

Text    : value
Text2   : value2
Text32  : value32

使用CSS更简洁。试试padding-left:5em或margin-left:5em。

&emsp;这就是答案。

然而,如果你习惯于在Word、Wordperfect、Open Office、Wordworth等文字处理软件中使用水平表格,那么它们的功能就不会像你预期的那样强大。它们是固定宽度的,不能定制。

CSS为您提供了更大的控制,并在W3C提供官方解决方案之前提供了替代方案。

例子:

padding-left:4em 

…或…

margin-left:4em 

..适当的

这取决于您想要使用的字符集。

你可以设置一些标签,并像使用h标签一样使用它们。

<style>
    tab1 { padding-left: 4em; }
    tab2 { padding-left: 8em; }
    tab3 { padding-left: 12em; }
    tab4 { padding-left: 16em; }
    tab5 { padding-left: 20em; }
    tab6 { padding-left: 24em; }
    tab7 { padding-left: 28em; }
    tab8 { padding-left: 32em; }
    tab9 { padding-left: 36em; }
    tab10 { padding-left: 40em; }
    tab11 { padding-left: 44em; }
    tab12 { padding-left: 48em; }
    tab13 { padding-left: 52em; }
    tab14 { padding-left: 56em; }
    tab15 { padding-left: 60em; }
    tab16 { padding-left: 64em; }
</style>

...像这样使用它们:

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Tabulation example</title> <style type="text/css"> dummydeclaration { padding-left: 4em; } /* Firefox ignores first declaration for some reason */ tab1 { padding-left: 4em; } tab2 { padding-left: 8em; } tab3 { padding-left: 12em; } tab4 { padding-left: 16em; } tab5 { padding-left: 20em; } tab6 { padding-left: 24em; } tab7 { padding-left: 28em; } tab8 { padding-left: 32em; } tab9 { padding-left: 36em; } tab10 { padding-left: 40em; } tab11 { padding-left: 44em; } tab12 { padding-left: 48em; } tab13 { padding-left: 52em; } tab14 { padding-left: 56em; } tab15 { padding-left: 60em; } tab16 { padding-left: 64em; } </style> </head> <body> <p>Non tabulated text</p> <p><tab1>Tabulated text</tab1></p> <p><tab2>Tabulated text</tab2></p> <p><tab3>Tabulated text</tab3></p> <p><tab3>Tabulated text</tab3></p> <p><tab2>Tabulated text</tab2></p> <p><tab3>Tabulated text</tab3></p> <p><tab4>Tabulated text</tab4></p> <p><tab4>Tabulated text</tab4></p> <p>Non tabulated text</p> <p><tab3>Tabulated text</tab3></p> <p><tab4>Tabulated text</tab4></p> <p><tab4>Tabulated text</tab4></p> <p><tab1>Tabulated text</tab1></p> <p><tab2>Tabulated text</tab2></p> </body> </html>

运行上面的代码片段以查看一个可视化示例。

额外的讨论

在ISO-8859-1 HTML中没有定义水平表格实体,但是除了通常的&nbsp之外,还有一些其他可用的空白字符,例如;&ensp &thinsp;;和前面提到的&emsp;。

值得一提的是,在ASCII和Unicode中,&#09;是一个水平表格。