2009-08-24 16 views
1

非常に長いタイトル/文章を入力すると、テキストがWebページ全体に広がります。段落の本文内に文字を挿入する

テキストを改行して次の行に移動する方法はありますか?

オーバーフローを使用すると、テキストが非表示になります。

私はwbrタグを使用するべきだと思います。

insert()を使用する必要があります。これのための方法?

すなわち

string myText = "111111111111111111111111111111111111111111111111111111111111111111111111"; 

myText = myText.Insert(80, "<wbr/>"); 

WBRタグでもあるかのクロスブラウザわかりません!

答えて

1

厳密に言えば、<wbr>ではなく、ゼロ幅のスペース(&#8203;)を使用する必要があります。ただし、Internet Explorer 6以前ではこれをサポートしていないことが知られています(醜いボックスが表示されます)。だから<wbr>がおそらく最も安全な選択でしょう。例外を除いて...標準モードのInternet Explorer 8は<wbr>をサポートしていないことがわかっているので、あなたはここですごい難点を持っています。

で詳細を読むことができます。

メモCourierのような固定幅のフォントを使用していない限り、どこを破るかを予測するのが難しいというHBossのコメントに注意してください。あなたはおそらく彼のアドバイスに耳を傾け、たびに80文字ごとに改行する必要があります。 (そして、文字を組み合わせることから始められないでください)

ASP.NETについては、実際にはInsertメソッドを使用できますが、複数のものを挿入する必要がある場合は注意してください。いくつかの本を保管する必要があります(また、StringBuilderもお勧めします)。

1

正規表現を使用して、空白/特殊文字で囲まれた単語を検索し、異なるオーバーフロープロパティを持つdiv/spanでその単語を囲むことができます。

<wbr>を使用する場合は、必ず単語を<nobr>で囲みます。

0

ブレークがブラウザ間で均一に収まることが保証されていないため、コンテンツをブレークで分割することでこの問題を解決できるかどうかはわかりません。フォントサイズや幅などのバリエーションがあります。

通常、varにも拡張されたコンテンツが表示されると、ページの残りの部分に重なるか、デザイナーがコンテンツをスクロールできるようにオーバーフローを設定します。潜在的にあなたが使うことができるCSSトリックがあるかもしれませんが、私は気づいていません。

代わりに、単に改行をxの文字で挿入するのではなく、句読点などの特定の文字の後にスペースを挿入することもできます。これにより、コンテンツがある時点または別の時点でラップされるようになります。

関連する問題