div ブロック内のテキストが CSS でオーバーフローしないようにするにはどうすればよいですか?
div {
width: 150px;
/* what to put here? */
}
<div>This div contains a VeryLongWordWhichDoesNotFitToTheBorder.</div>
div 内のオーバーフロー テキストを非表示にしたりスクロールバーを作成したりするのではなく、自動的に改行したい場合は、
word-wrap: break-word
財産。
あなたが試すことができます:
<div id="myDiv">
stuff
</div>
#myDiv {
overflow:hidden;
}
詳細については、オーバーフロー プロパティのドキュメントを参照してください。
単純に使用します:
word-wrap: break-word;
white-space: pre-wrap;
word-break: break-word;
word-wrap
長い単語を分割して次の行に折り返すことができます。
可能な値:
normal
: 許可されたブレーク ポイントでのみ単語を分割しますbreak-word
: 改行できない単語を改行できますdiv {
width: 150px;
border: 2px solid #ff0000;
}
div.normal {
word-wrap: normal;
}
div.break {
word-wrap: break-word;
}
<h2>word-wrap: normal</h2>
<div class="normal"> This div contains a VeryLongWordWhichDoesNotFitToTheBorder.</div>
<h2>word-wrap: break-word</h2>
<div class="break"> This div contains a VeryLongWordWhichDoesNotFitToTheBorder.</div>
white-space
要素内の空白の処理方法を指定します。
可能な値:
nowrap
: テキストは次の行に折り返されません。pre-wrap
: 空白はブラウザによって保持されます。テキストは必要に応じて折り返され、改行されますdiv {
width: 150px;
border: 2px solid #ff0000;
}
div.nowrap {
white-space: nowrap;
}
div.pre-wrap {
white-space: pre-wrap;
}
<h2>white-space: nowrap</h2>
<div class="nowrap">This div contains a very long but normal paragraph with so many words and nothing else.</div>
<h2>white-space: pre-wrap</h2>
<div class="pre-wrap">This div contains a very long but normal paragraph with so many words and nothing else.</div>
word-break
行末に達したときに単語をどのように分割するかを指定します。
可能な値:
normal
: デフォルトの改行ルール。break-word
: オーバーフローを防ぐために、単語は任意のポイントで改行される場合があります。div {
width: 150px;
border: 2px solid #ff0000;
}
div.normal {
word-break: normal;
}
div.break-word {
word-break: break-word;
}
<h2>word-break: normal (default)</h2>
<div class="normal"> This div contains a VeryLongWordWhichDoesNotFitToTheBorder.</div>
<h2>word-break: break-word</h2>
<div class="break-word"> This div contains a VeryLongWordWhichDoesNotFitToTheBorder.</div>
のブラウザ固有バージョンの場合はwhite-space
、次を使用します。
white-space: pre-wrap; /* CSS3 */
white-space: -moz-pre-wrap; /* Firefox */
white-space: -pre-wrap; /* Opera <7 */
white-space: -o-pre-wrap; /* Opera 7 */
別のcssプロパティがあります:
white-space : normal;
空白プロパティは、テキストが適用される要素でのテキストの処理方法を制御します。
div {
/* This is the default, you don't need to
explicitly declare it unless overriding
another declaration */
white-space: normal;
}
この問題を解決するには、次のクラスを追加してみてください。
.ellipsis {
text-overflow: ellipsis;
/* Required for text-overflow to do anything */
white-space: nowrap;
overflow: hidden;
}
このリンクでさらに説明されています http://css-tricks.com/almanac/properties/t/text-overflow/
overflow: scroll
? または自動。スタイル属性で。
divの高さがcssに設定されている場合、divの外側にオーバーフローします。
常にdivの最小の高さにする必要がある場合は、divに最小の高さを指定できます。
最小の高さはIE6では機能しませんが、IE6固有のスタイルシートがある場合は、IE6の通常の高さにすることができます。IE6では、コンテンツに応じて高さが変化します。
.NonOverflow {
width: 200px; /* Need the width for this to work */
overflow: hidden;
}
<div class="NonOverflow">
Long Text
</div>
たとえば、CSS で最小幅を設定するだけです。
.someClass{min-width: 980px;}
壊れることはありませんが、スクロールバーを処理する必要があります。