質問する
1070 次
2 に答える
6
あなたの質問は少し不明確ですが、改行を完全に無視するブラウザのデフォルトではなく、文字列に含まれる改行を保持したいと考えています。
pre
プロパティのオプションの1 つが必要になりwhite-space
ます。
/* Display text exactly as entered */
white-space: pre;
/* Display as entered, plus extra linebreaks as needed for long lines */
white-space: pre-wrap;
/* Display newlines as entered, plus extra linebreaks as needed for long lines */
white-space: pre-line;
違いに関する注意事項:
pre
全体を<pre>
タグでラップするのと同じです。との違いは
pre
、pre-wrap
長い行の必要に応じて余分な改行を追加するかどうかです。との違いは
pre-wrap
、pre-line
すべての空白 (スペースを含む) を保持するか、改行のみを保持するかです。pre-line
すべての改行を<br>
タグに置き換えることと同等です。
ここでさまざまなスタイルの比較を見ることができます: http://jsfiddle.net/Gcexh/
遭遇するもう 1 つの問題は、入力の最後の 2 行の間に改行が必要であるとは限らない場合に、改行があることです。
単一の改行を削除し、最初の 2 行を区切るような二重の改行のみを保持することで、これを修正できます。
これはサーバー側で行うのが理想的ですが、次のように JavaScript で行うこともできます:
(@JanDvorak に感謝):
text = text.replace(/(\n\s*\n)|\n/g, "$1 ")
于 2013-08-03T06:14:43.710 に答える
0
cssでそれを行う方法はないと思います。JavaScriptの方法:
var myStr = "Your multiline\n\nstring...";
for (;;)
{
if (myStr.indexOf("\n") != -1)
myStr = myStr.replace("\n", " ");
else
break;
}
于 2013-08-03T06:14:47.760 に答える