重複の可能性:
タブ幅を指定していますか?
preタグにタブ文字を印刷する必要があります。タブの HTML 文字です	
が、すべてのブラウザーで 8 つのスペースのようにレンダリングしようとしました。
これを調整して 4 つのスペースの幅になるようにレンダリングする方法はありますか、それとも 4 つのスペースで使用できる別の HTML 文字がありますか?
重複の可能性:
タブ幅を指定していますか?
preタグにタブ文字を印刷する必要があります。タブの HTML 文字です	
が、すべてのブラウザーで 8 つのスペースのようにレンダリングしようとしました。
これを調整して 4 つのスペースの幅になるようにレンダリングする方法はありますか、それとも 4 つのスペースで使用できる別の HTML 文字がありますか?
スペースを 4 つ入れたほうがよいという最初の回答には同意しますが、tab-size
CSS 内のプロパティがサポートされているようです (ただし、IE のサポートは不足しています)。
pre {
-moz-tab-size: 4; /* Firefox 4+ */
-o-tab-size: 4; /* Opera 11.5 & 12.1 only */
tab-size: 4; /* Chrome 21+, Safari 6.1+, Opera 15+ */
}
white-space: pre
or white-space: pre-wrap
(または<pre>
タグ内)を使用した場合のみ有効です。
使用できる一連の 4 文字があり、常に 4 つのスペースに拡張されます。これは 4 つのスペースです (pre
少なくとも および適切にスタイル設定されたその他の要素内)。
タブの幅とタブの正確な動作について一般的に合意された方法はないため、出力の外観を正確に制御する必要がある場所では使用しないことをお勧めします。HTML もブラウザも、タブ幅を設定する手段を提供していません。
CSSは、表示目的でこれを処理するための最良の方法です。ただし、テキストをコピーして貼り付け、タブに4つのスペースを確保できるようにする場合は、Javascriptを使用してpreタグを変更することになります。
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
</head>
<body>
<pre class="downtab">All Tabs Changed a little.</pre>
<script type="text/javascript">
$(document).ready(function() {
$(".downtab").each(function() {
var text = $(this).html().replace(/\t/g, ' ');
$(this).html(text);
});
});
</script>
</body>
</html>
ここでの本当の魔法は、グローバルに一致する正規表現を使用するreplace()関数です。