比較的単純な CSS の場合:
div {
width: 150px;
}
<div>
12333-2333-233-23339392-332332323
</div>
width
文字列が150に制限されたままになり、ハイフンで新しい行に折り返されるようにするにはどうすればよいですか?
ハイフンを次のように置き換えます。
­
これは「ソフト」ハイフンと呼ばれます。
div {
width: 150px;
}
<div>
12333­2333­233­23339392­332332323
</div>
すべての最新のブラウザー* (および一部の古いブラウザーでも) では、<wbr>
要素は特定のポイントで長い単語を分割する機会を提供するための完璧なツールです。
そのリンクから引用するには:
Word Break Opportunity (
<wbr>
) HTML 要素は、ブラウザーがオプションで改行できるテキスト内の位置を表します。
OPの例で使用する方法は次のとおりです(またはJSFiddleで実際に動作しているのを確認してください):
<div style="width: 150px;">
12333-<wbr>2333-<wbr>233-<wbr>23339392-<wbr>332332323
</div>
* IE9、IE10、最新バージョンの Chrome、Firefox、Opera、および Safari でテストしました。
div {
width: 150px;
}
<div>
12333-<wbr>2333-<wbr>233-<wbr>23339392-<wbr>332332323
</div>
CSS3 の一部として、これはまだ完全にはサポートされていませんが、ワードラップに関する情報はここで見つけることができます。もう 1 つのオプションは、wbr タグ、、および です。どちらも完全にサポートされていません。
この特定のインスタンス(文字列にハイフンが含まれる場合)では、テキストをこのサーバー側に変換します。
<div style="width:150px;">
<span>12333-</span><span>2333-</span><span>233-</span><span>23339392-</span><span>332332323</span>
</div>
あなたの例は、Google Chrome、Safari (Windows)、および IE8 で期待どおりに動作します。Firefox 3 および Opera 9.5 では、テキストが 150px のボックスからはみ出します。
さらに­
、次のいずれかになるため、この例では機能しません。
単語区切りの場合は機能するが、単語区切りでない場合はハイフンを表示しない、または
単語区切りではない場合は機能しますが、区切りにハイフンを追加するため、単語区切りの場合は 2 つのハイフンを表示します。
正確に見たいものに応じてhyphen
、 、soft hyphen
、および/または を組み合わせて使用できますzero width space
。
ソフト ハイフンでは、ブラウザーはワード ブレイク (ハイフンの追加) を行うことができます。幅ゼロのスペースでは、ブラウザーは (何も追加せずに) 単語を分割できます。
したがって、コードが次のような場合:
111111­222222­-333333​444444-​555555
次に、ブラウザは単語区切りなしでこれを表示します。
1111112222222-33333334444444-5555555
そして、これは可能なすべてのワードブレークになります:
111111-
222222-
-333333
444444-
555555
必要なオプションを選択するだけです。あなたの場合、それは 4 と 5 の間のものかもしれません。
次のものも使用できます。
word-break:break-all;
元。
<div style='width:10px'>ababababababbabaabababababababbabababa</div>
出力:
abababababa
ababababbba
abbabbababa
ababb
word-break は、指定された幅または高さのフィートでない文にスペースがない場合でも、すべての単語または行を分割します。そのためには、幅または高さを指定する必要があります。
非改行ハイフンはうまく機能します。
HTML エンティティ (10 進数)
‑
代わりにまたは-
を使用できます。‐
\u2010
また、ハイフンcss プロパティがnoneに設定されていないことを確認してください(デフォルト値はmanualです)。
<wbr>
Internet Explorer ではサポートされていません。