在HTML中,是否可以插入制表符而不是必须键入四个
字符?
据我所知,唯一的方法是使用
如果你会使用CSS,那么你就可以使用padding或margin。参见盒模型,而对于Internet Explorer,还需要阅读Internet Explorer盒模型Bug。
如果您只想缩进段落中的第一句话,您可以使用一个小的CSS技巧来实现:
p:first-letter {
margin-left: 5em;
}
:first-letter
上,如果目的仅是缩进第一句话。 - peirix<tab>标签从HTML3开始引入,但从未在浏览器中实现。我一直认为这是个遗憾,因为如果我们能使用它,在许多情况下会更加方便。但是,您可以很容易地通过在 HTML 的头部或者 CSS 中添加以下内容(不需要style标签)来创建一个假的<tab>标签:
<style>
tab { padding-left: 4em; }
</style>
从那时起,当您需要在文档中插入制表符时,请使用<tab>。它不是一个真正的制表符,因为它不会对齐制表符标记,但对于大多数需要而言,它可以胜任,无需使用笨重的字符实体或跨度等方法。它使检查源代码变得非常容易,并且可以轻松格式化简单的内容,而无需使用表格或其他更复杂的“解决方案”。
这种解决方案的一个好处是,您可以快速搜索/替换文本文档,将所有TAB替换为<tab>标签。
您可能可以定义一堆真正的绝对位置制表符,然后在需要时使用适当的制表符(例如<tab2>或<tab5>或其他),但我没有找到一种方法可以做到这一点而不缩进后续行。
的快捷方式。调用 <pre>
标签会增加很多额外的工作。 - isomorphismes我使用了带有内联样式的 span。我不得不这样做,因为我正在处理一串纯文本,并需要用 4 个空格(约)替换 \t。我不能使用
,因为在后面的过程中它们被解释为非内容空格,最终标记中会出现这些空格。
HTML:
<span style="padding: 0 40px"> </span>
$message = preg_replace('/\t/', '<span style="padding: 0 40px"> </span>', $message);
width
属性应用于第一个 <td>
。<table>
<tr>
<td width="100">Content1</td>
<td>Content2</td>
</tr>
<tr>
<td>Content3</td>
<td>Content4</td>
</tr>
</table>
结果
Content1 Content2
Content3 Content4
<style>
.tab {
position: absolute;
left: 10em;
}
</style>
使用类似以下HTML的内容:
<p><b>asdf</b> <span class="tab">99967</span></p>
<p><b>hjkl</b> <span class="tab">88868</span></p>
<style>
.tab {
position: absolute;
left: 10em;
}
.tab1 {
position: absolute;
left: 20em;
}
</style>
使用类似以下的HTML:
<p><b>asdf</b> <span class="tab">99967</span><span class="tab1">hear</span></p>
<p><b>hjkl</b> <span class="tab">88868</span><span class="tab1">here</span></p>
这是一个简单的CSS样式:
white-space: pre;
p:first-letter {
text-indent:1em;
}
你可以使用  
一次代替四个空格等于一个制表符。
TAB
字符是用来做什么的? - Michel de Ruiter<tab>
,然后在ready
函数中使用 jQuery 来替换或填充它们所需的等效空格数量。 - Khaled.Kwhite-space
。 - Buksy
(或单个的 
)不能满足你的需求,并且你想要它们对齐到下一个"4个空格"的列,就像制表符所做的那样(这意味着有时实际上需要0、1、2或3个空格来对齐)...比如,在某些文本编辑器中...不幸的是,在HTML中你不能这样做...除非使用<table>
元素,而且尝试使用一些空格来进行hack将需要使用固定字体...我认为大部分问题都在于需要固定字体以及HTML喜欢删除空白字符之间。 - Pimp Trizkit