在HTML中,是否可以插入制表符而不是必须键入四个
字符?
 
和  
有什么区别?我测试了一下,它们都产生了完全相同的空格..! - Shafizadeh 
略微更大一些。在Chrome 64和FireFox 58中可以看到这种差异。 - Dmitry使用CSS会更加简洁。尝试使用适当的padding-left:5em
或margin-left:5em
代替。
em
作为维度,它应该会随着文本大小的改变而扩展。即使你不这样做,它也取决于所使用的缩放机制的性质。 - Alohcitab-size
属性,这才是您真正需要的,但它在浏览器上的支持并不稳定。如果失败,table-layout 或者 flexbox 是您最好的选择。 - Alohci 
。
")来代替。 就是答案。
然而,如果您习惯于在文字处理器(如Word、Wordperfect、Open Office、Wordworth等)中使用水平制表符,则它们的功能可能不如您期望的那样。 它们是固定宽度的,不能自定义。
CSS为您提供了更大的控制权,并提供了一种替代方案,直到W3C提供官方解决方案。
示例:
padding-left:4em
margin-left:4em
..适当地使用
这取决于您想使用哪个字符集。
您可以设置一些标签并将它们用于类似于如何使用标题标签的方式。
<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 中没有定义水平制表符实体,但除了通常的  
之外,还有其他一些可用的空格字符,例如: 
、 
和前面提到的  
。
值得一提的是,在 ASCII 和 Unicode 中,	
是水平制表符。
以下是HTML提供的三种不同方式来插入空格:
来添加一个空格。 
来添加两个空格。 
来添加四个空格。;
,例如
。 - Amio.io尝试  
它等同于四个
。
在一个段落内(或者它的中间)插入多个空格并没有简单的方法。那些建议你使用 CSS 的人忽略了关键点。有时候你并不是想从侧面缩进一个段落,而是想要在一个特定的位置添加额外的空格。
实际上,在这种情况下,这些空格就成为了 内容 而不是样式。很多人为什么没有看到这一点我也不知道。我猜是因为他们试图过于严格地强制执行样式和内容分离的规则(HTML 最初就是既设计用来处理样式也可以处理内容 - 偶尔使用适当的标签定义唯一元素的样式,而不必花费大量的时间进行 CSS 样式表的创建是完全没有问题的,这在适度使用时也绝对不会导致代码难以阅读。快速完成某件事情也有其优势)。这也解释了为什么他们只把空白字符视为仅用于样式和缩进。
当没有优雅的方式可以插入空格而不需要依赖  
和
标签时,我认为所得到的代码比如果存在一个恰当命名的标签,可以让你快速地插入大量空格(或者干脆避免在第一次使用时无意中消耗了空格)更加难以阅读。
然而,正如上述所说,最好的方法是使用  
在正确的位置插入 。
最好使用 pre 标签。 pre 标签定义预格式化文本。
<pre>
This is
preformatted text.
It preserves both spaces
and line breaks.
</pre>
了解有关 pre 标签的更多信息,请访问此链接
CSS 中需要这样写:
span.tab{
padding: 0 80px; /* Or desired space*/
}
那么在您的HTML中,将这个作为您“长制表符”,就像我所需要的一样,插入到句子中间:
<span class="tab"></span>
节省需要使用的
或  
的数量。
span
ж Үзӯҫзҡ„е·Ұдҫ§е’ҢеҸідҫ§еҗ„ж·»еҠ 80еғҸзҙ пјҢдёҚе®Ңе…ЁжҳҜдёҖдёӘеҲ¶иЎЁз¬ҰгҖӮ - mcontpadding: 0 0 0 80px
。然而,混合使用像素、ems和ens是一种不好的做法。 - Canned Man
TAB
字符是用来做什么的? - Michel de Ruiter<tab>
,然后在ready
函数中使用 jQuery 来替换或填充它们所需的等效空格数量。 - Khaled.Kwhite-space
。 - Buksy
(或单个的 
)不能满足你的需求,并且你想要它们对齐到下一个"4个空格"的列,就像制表符所做的那样(这意味着有时实际上需要0、1、2或3个空格来对齐)...比如,在某些文本编辑器中...不幸的是,在HTML中你不能这样做...除非使用<table>
元素,而且尝试使用一些空格来进行hack将需要使用固定字体...我认为大部分问题都在于需要固定字体以及HTML喜欢删除空白字符之间。 - Pimp Trizkit