空白が表示されるときにタブ幅を定義することは可能ですか (たとえば <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>
このブログ投稿が役立つと思います。
これは解決策です。タブのすべてのインスタンスに対して実行する必要があるため、きれいではありませんが、タブが占有するスペースが少なくなり、ブラウザーからコピーするための書式が保持されます (明らかに、「A SINGLE TAB HERE」を実際のタブの場合、このブログ ソフトウェアはエントリからタブを自動的に削除するようです):
<span style="display:none">A SINGLE TAB HERE</span><span style="margin-left:YOUR NEW TAB WIDTH"></span>
基本的に、コード内のタブのすべてのインスタンスをそのコード スニペットに置き換えます (適切な幅を選択した後、スタイルシートで非常に簡単に行うことができます)。このコードは、コード内の元のタブをコピー/貼り付けの準備を整えたまま、人為的に余白を挿入します。
ちなみに、 CSS仕様tab stops
にしたみたいです。
この件に関する別のスタック オーバーフローの質問もあります。
George Stocker が指摘したように、タブストップは将来の CSS で導入されるはずですが (FF4 には導入されるはずです)、それまでの間は...
リンクされたブログ投稿の問題は、ブラウザーからコピー/貼り付けするときにタブがコピーされないことです。別の方法として、次のことを試してください。
<style>
.tabspan{
display:inline:block;
width:4ex;
}
</style>
<pre>
int main()
{
<span class=tabspan>\t</span>return 0;
}
</pre>
上記の「\t」は実際のタブ文字です。これで、適切にコピーして貼り付ける必要があります。<pre> タグに css プロパティを平手打ちするほどではありませんが、それが人生です。
(PSはこの古い投稿に「cssタブ幅」のGoogleで高いと答え、ここに来てすぐにこの解決策を思いつきました。)