如何获得制表符?

Abb*_*ner 107 html

在HTML中,标签没有字符,但我很困惑为什么我可以在这里复制和粘贴一个:.(你看不到它的全部宽度,但如果你点击编辑我的问题,你会看到这个字符.)如果我可以复制并粘贴一个制表符,那么应该有一个可以编码成html的unicode等价物.我知道它不存在,但这是一个我从未能够掌握的谜.

所以我的问题是:为什么即使我可以复制并粘贴标签,也没有标签的unicode字符?

jos*_*736 147

当然有一个标签实体:

	
Run Code Online (Sandbox Code Playgroud)

(该选项卡是ASCII字符9,或Unicode U + 0009.)

但是,就像文字选项卡(您在文本编辑器中键入的那些选项卡)一样,所有选项卡字符都被HTML解析器视为空格,并折叠到一个空格中,除了<pre>块中的那些空格,其中文字选项卡将呈现为8个空格.等宽字体.

  • 更一般地说,你可以使用&#9; 在CSS样式的任何元素中white-space:pre; 喜欢在http://jsfiddle.net/cancerbero_sgx/sp269/3/ (7认同)
  • Unicode没有自己的制表符; U + 0009与按Tab键获得的制表符相同.(我认为你可能会将HTML实体与Unicode字符集混淆.) (2认同)

Abh*_*oel 80

尝试 &emsp;

按照文档:

的字符实体&ensp;&emsp;分别表示半角空格和全角空格,其中的连接空间是点尺寸的一半和一个全角空格是等于当前字体的点大小.对于固定间距字体,用户代理可以将en空间视为等效于空格字符,并将em空间视为等效于两个空格字符.

文档链接:https://www.w3.org/MarkUp/html3/specialchars.html


Ray*_*und 45

把它放在<pre></pre>标签之间然后使用这个字符&#9;

没有<pre></pre>标签就行不通

  • 好的,这很棒,我试图单独使用`&#9;`,但它没有用.谢谢你提到`<pre>`! (3认同)
  • 很棒的建议。为什么它会这样呢? (3认同)
  • &lt;pre&gt; 标签定义预格式化文本,标签内的任何文本位置都将保留空格、换行符、制表符等。它通常会以固定宽度的字体类型(如 Courier)显示 (3认同)
  • 您可以将任何 html 标签与 `white-space: pre-wrap;` 或 `white-space: pre;` 结合使用 (3认同)

cro*_*sek 16

发布另一种替代方案以使其更完整.当我尝试基于"预"的答案时,他们也添加了额外的垂直换行符.

每个选项卡都可以转换为序列不间断空格,不需要换行.

"&nbsp;&nbsp;&nbsp;&nbsp;" 
Run Code Online (Sandbox Code Playgroud)

建议不要在页面内重复/广泛使用.div边距/填充方法看起来会更清晰.

  • 如果选项卡用作将文本对齐选项卡右侧的工具(左侧的非固定宽度字体文本不相等),则转换为字符将无法解决问题. (4认同)

Gra*_*ace 7

<span style="display: inline-block; width: 2ch;">&#9;</span>用于两个字符宽的制表符。