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


当前回答

最好使用pre标签。pre标记定义预格式化文本。

<pre>
 This is
preformatted text.
It preserves      both spaces

and line breaks.

</pre>

了解更多关于前标签在这个链接

其他回答

如果空格变得如此重要,那么使用预格式化文本和<pre>标记可能会更好。

在段落中插入多个空格(或在段落中间)确实没有什么简单的方法。那些建议你使用CSS的人没有抓住重点。您可能不总是试图从一个侧面缩进一个段落,但实际上,尝试在它的特定位置放置额外的空格。

In essence, in this case, the spaces become the content and not the style. I don't know why so many people don't see that. I guess the rigidity with which they try to enforce the separation of style and content rule (HTML was designed to do both from the beginning - there is nothing wrong with occasionally defining style of an unique element using appropriate tags without having to spend a lot more time on creating CSS style sheets and there is absolutely nothing unreadable about it when it's used in moderation. There is also something to be said for being able to do something quickly.) translates to how they can only consider whitespace characters as being used only for style and indentation.

当没有优雅的方式插入空格,而不必依赖&emsp;和,标签,我认为,如果有一个适当命名的标签,允许您快速插入大量的空格(或者如果,您知道,空格一开始就没有被不必要地消耗),那么结果代码将变得更加不可读。

尽管如此,正如上面所说,您最好的选择是使用&emsp;插入:插入正确的位置

而不是写&nbsp;四个时间为空格等于制表符,可以写&emsp;一次。

&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;是一个水平表格。

如果你想要这些标签

像制表员一样工作,即使是在内容表中 不想用难看的“pre”字体

然后使用:

<pre class='TAB'>&#009;</pre>

把它放在你的CSS中:

.TAB {
margin:0; padding:0;
display:inline;
tab-size: 8;
}

根据需要更改制表符大小。