Ich habe eine Zeichenfolge, die x lang ist (lassen Sie sagen, 10.000 für Argument willen). Ich kann dann diese Zeichenfolge innerhalb einer <div>
anzeigen. Bisher kann ich die ganze Saite in einem Div anzeigen, was gut funktioniert.Ist es möglich, eine Zeichenkette über mehrere divs anzuzeigen?
So folgende ich habe die Unter der Annahme:
String - "Diese Saite ist 10000 Zeichen lang"
divs - [div1] [div2] [div3]
Ich möchte um die Zeichenfolge aufzuteilen und über mehrere <div>
Elemente basierend auf der Breite/Höhe des <div>
anzuzeigen.
Ergebnis - [Diese Zeichenfolge] [10000] [Zeichen]
Bisher kann ich den String in Teilstrings und Anzeigeteil des Strings mit einer maxCharPerDiv
Variable
meine JS brechen
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;
}
Das obige funktioniert und gibt die Teilstrings im Terminal zurück, aber ich bekomme nur 1 auf meinem Div angezeigt, da der Rest über die eingestellte Höhe/Breite hinausfließt.
Fragen:
- Ist es möglich, eine solche Anzeige zu erreichen
- Ist es möglich, auf die Breite/Höhe eines div so basiert zu tun?
Sehr schätzen Sie einen Anstupser in die richtige Richtung.
Danke.
_Ist es möglich, die Breite/Höhe eines div so basiert sie _ Definitiv nein, es sei denn, Sie Monospace-Schrift haben (und sogar in diesem Fall können Dinge wie das Umbrechen von Wörtern die Logik durchbrechen). – hindmost
Ich habe keine Ahnung, warum versuchen Sie das zu tun, aber wenn es nur für die Anzeige Zwecke ist, möchten Sie vielleicht CSS mehrspaltigen Layouts überprüfen: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Columns/Using_multi-column_layouts – helb
@hindmost oh ... Ich verstehe. Hier hatte ich gehofft, es war lol! Danke, dass du mich informiert hast, ich muss einen Weg finden, die Saite in ein separates Element zu zerlegen und sie dann wieder in ihre jeweiligen Divs zu bringen, vielleicht? Oder versuchen Sie das von @helb vorgeschlagene 'CSS multi-column'-Layout. Und es dient nur zur Anzeige. Ich habe 2 separate divs (könnte mehr verwenden) und nur eine Zeichenfolge. Und danke für den Vorschlag, ich werde einen Grund dafür haben. – Ange