これは私のブログページです。ブログでC#、PHP、その他のコードスニペットを使用しなければならない場合があります。したがって、preタグを使用して見栄えを良くし、フォーマットコードをそのまま維持します。pre
タグの幅は100%で、背景色があります。ただし、上の画像のようにテキストが消え、水平スクロールバーが表示されます。どうすればこれを克服できますか?下部のスクロールバーは必要ありません。
質問する
55502 次
5 に答える
87
いくつかの解決策があります:
最も簡単なのは、テキストに改行を配置することです。ただし、ブラウザウィンドウが適切なサイズでない限り、右マージンが大きくなるか、スクロールバーが発生するため、これはおそらく望ましいことではありません。
もう1つはwhite-space:pre-wrap;
、CSSで<pre>
タグに使用することです。これにより、テキストは必要に応じて新しい行に折り返されますが、ソースに存在するすべての空白は保持されます。このCSSプロパティの詳細については、https://developer.mozilla.org/en-US/docs/Web/CSS/white-spaceを参照してください。
または、(手動または自動ワードラップによって)改行を追加したくない場合は、<pre>
タグに次のCSSプロパティのいずれかを使用できます。
overflow-x:hidden;
これにより、右端を超えて伸びるテキストが切り取られます。まったく表示されません。overflow-x:scroll;
これにより、テキストが右端を超えた場合に、スクロールバーがWebページ内に表示されます。これにより、ページ全体が広くなりすぎてスクロールバーが下部に表示されるのを防ぐことができます。例については、 http://www.w3schools.com/cssref/playit.asp?filename = playcss_overflow-x&preval=scrollを参照してください。overflow-x:auto;
overflow-x:scroll;
スクロールバーが必要な場合にのみ表示されることを除いて、同様です。(コメントのccalvertに感謝します)
于 2012-12-03T03:38:47.570 に答える
9
スタイルを追加:
pre {
white-space: pre-wrap;
word-break: break-word;
}
于 2018-09-06T07:54:08.167 に答える
3
私の行は<a>
タグに含まれています。これは私のために働きます:
a, pre {
white-space: pre-wrap;
word-wrap: break-word;
}
于 2019-10-14T07:22:28.257 に答える
2
いくつかのCSSプロパティを使用できます。
pre {
display: flex;
white-space: normal;
word-break: break-word;
}
オプションで、<pre>
が内部にある場合<span>
:
span pre { display: inline-flex; }
于 2016-07-10T00:10:57.150 に答える
1
ラッパーdivを追加し、次のCSSプロパティを追加できます
{
div#wrapper {
overflow: scroll;
display: grid;
}
}
于 2022-02-02T12:41:49.540 に答える