私はxの文字列を持っています(引数として10,000と言うことができます)char long。私はその文字列を<div>
の中に表示するようになる。今のところ私は1つのdivに文字列全体を表示できますが、これはうまく動作します。複数のdivに文字列を表示することはできますか?
は、だから私は、次のを持っていると仮定すると:
文字列 - "この文字列は10000文字の長さ"
のdiv - [DIV1] [DIV2] [DIV3]
私が欲しいです文字列を分割して、<div>
の幅/高さに基づいて複数の<div>
要素に表示します。
結果 - [この文字列] [10000] [文字]
これまでのところ、私はサブストリングとディスプレイに文字列を分割することができ、文字列の一部maxCharPerDiv
変数
を使用して、私のJS
var contents; //this is my endless string
var content;
var maxCharPerDiv = 1000;
var currentDiv = "";
var divsArray = [];
function contentBreak(str, len) {
if (str.length < len) {
return divsArray.push(str);
} else {
divsArray.push(str.substring(0, len));
}
contentBreak(str.substring(len), len);
}
for (var i = 0; i < contents.length; i++) {
content = contents[i].content;
contentBreak(content, maxCharPerDiv);
}
for (var k = 0; k < divsArray.length; k++) {
console.log(divsArray[k] + "\n");
}
CSS
div {
width: 380px;
height: 582px;
background: white;
color: #ccc;
}
上記のように動作し、端末の部分文字列を返しますが、残りの部分が設定された高さ/幅を超えてオーバーフローするため、divに1文字しか表示されません。
質問:
- はそれが
- 、このような表示を実現することが可能であるdiv要素の幅/高さに基づいて、そうすることは可能ですか?
が大幅に右方向にナッジを感謝しています。
ありがとうございました。
を行う必要があります_間違いなし、あなたは等幅フォントを持っていない限り(この場合でも、単語の折り返しなどがロジックを破壊する可能性があります)。 – hindmost
私はなぜそれをやろうとしているのか分かりませんが、表示目的にすぎない場合は、CSSの複数列のレイアウトをチェックしてみてください。https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Columns/Using_multi-column_layouts – helb
@hindmost oh ...そうだよ。ここで私はそれが笑であることを望んでいた!私に知らせてくれてありがとう、私は別の要素に文字列を壊す方法を見つける必要がありますし、それぞれの部門に戻って、それらを置く?また、@helbで提案されている 'CSS multi-column'レイアウトを試してみてください。そしてそれは表示のためのものです。私は2つの別々のdiv(より多くを使用するかもしれません)と1つの文字列しか持っていません。そして提案のおかげで、私はそれに理由があるでしょう。 – Ange