在显示空格时(比如在 <pre> 标签内),是否可以定义选项卡宽度?我找不到使用 CSS 定义的方法,但这似乎是一个很常见的需求。
在我的情况下,选项卡宽度太宽了,导致页面上的一些代码片段过宽。如果能缩短选项卡宽度以适应页面而不出现滚动条,那将使事情变得更容易。 (我可以用空格替换选项卡,但最好找到一种不需要这样做的方法)
在显示空格时(比如在 <pre> 标签内),是否可以定义选项卡宽度?我找不到使用 CSS 定义的方法,但这似乎是一个很常见的需求。
在我的情况下,选项卡宽度太宽了,导致页面上的一些代码片段过宽。如果能缩短选项卡宽度以适应页面而不出现滚动条,那将使事情变得更容易。 (我可以用空格替换选项卡,但最好找到一种不需要这样做的方法)
使用tab-size属性。目前需要使用厂商前缀。例如:
pre
{
-moz-tab-size: 4;
-o-tab-size: 4;
tab-size: 4;
}
请参阅 developer.mozilla.org 上的文章:tab-size。
.tabstop
{
-moz-tab-size: 4;
-o-tab-size: 4;
tab-size: 4;
}
Unstyled tabs (browser default)
<pre>
one tab
two tabs
three tabs
</pre>
Styled tabs (4em)
<pre class="tabstop">
one tab
two tabs
three tabs
</pre>
<pre>
块中使用巨大制表符宽度而必须切换到空格的想法感到非常不爽 - 这在Firefox中行得通,但令人惊讶的是,在webkit上似乎还不能(尚未)使用 - 实际上看起来只有Opera和Firefox支持它...回到空格吧。 - Wesley Murch-moz-tab-size
属性,否则它将不会工作。 - Sv443这是一个解决方案,虽然不太好看,因为它必须针对每个选项卡的实例进行操作,但它可以减少选项卡占用的空间,并且保留了复制浏览器中的格式(显然需要将“ A SINGLE TAB HERE”替换为实际的制表符,因为这个博客软件似乎会自动删除输入内容中的制表符):
<span style="display:none">A SINGLE TAB HERE</span><span style="margin-left:YOUR NEW TAB WIDTH"></span>
正如George Stocker指出的那样,制表符应该会在未来的CSS中出现(FF4应该会有它),但与此同时...
链接的博客文章存在的问题是从浏览器复制/粘贴时无法复制制表符。作为替代方案,请尝试以下方法:
<style>
.tabspan{
display:inline:block;
width:4ex;
}
</style>
<pre>
int main()
{
<span class=tabspan>\t</span>return 0;
}
</pre>
-moz-tab-size
已经在 Gecko 2 中实现了,这是 Firefox 4 使用的引擎。https://developer.mozilla.org/en/CSS/-moz-tab-size - BoltClock