Anzahl der Zeilen zählen
Voll-ker
- javascript
Hallo zusammen!
Ich habe folgendes Problem:
Ich habe einen String von unbekannter Länge, der in ein <div> mit einer 'width' von genau 216px gepackt werden soll, die maximale 'height' ist dabei unerheblich.
Nun soll der ganze dargestellte Text noch von einem Bild hinterlegt werden, das die gleiche 'height' wie der Text haben soll. Das Problem ist also dem Hintergrundbild die richtige 'height' zu verpassen.
Meine Idee wäre daher die Anzahl der Zeilen zu zählen die der String nach Zeilenumbrüchen hat, und danach die Bildhöhe zu bestimmen.
Gibt es da eine Möglichkeit dies zu tun, oder muss ich tatsächlich mit einer durchschnittlichen Anzahl von Buchstaben pro Zeile arbeiten (das wird noch dadurch erschwert dass ich unterschiedliche Sprachen von English, über Spanisch bis Koreanisch und Chinesisch habe...) ?
Vielen Dank schonmal im vorraus!
voll-ker
Hi,
Meine Idee wäre daher die Anzahl der Zeilen zu zählen die der String nach Zeilenumbrüchen hat, und danach die Bildhöhe zu bestimmen.
Deine Idee ist es also, blind zu raten? Das ist nur selten weise.
Gibt es da eine Möglichkeit dies zu tun, oder muss ich tatsächlich mit einer durchschnittlichen Anzahl von Buchstaben pro Zeile arbeiten (das wird noch dadurch erschwert dass ich unterschiedliche Sprachen von English, über Spanisch bis Koreanisch und Chinesisch habe...) ?
Du weißt nichts über die Höhe. Du weißt nicht, wie hoch oder breit ein Buchstabe ist - bei keinem einzigen Buchstaben. Du weißt nicht, an welchen Stellen der Browser umbricht. Du weißt nicht, wie viel Platz er den Zeilen für Ober- und Unterlängen einräumt. Du weißt nicht, welche Abstände er einfügt. Dir fehlt also jede Grundlage, um eine Schätzung einzuräumen.
Was Du hingegen kannst, ist dem Browser die Höhe eines bereits dargestellten Elements zu entlocken. Die zugehörige Eigenschaft des Elementes heißt offsetHeight.
Cheatah
Hi,
Was Du hingegen kannst, ist dem Browser die Höhe eines bereits dargestellten Elements zu entlocken. Die zugehörige Eigenschaft des Elementes heißt offsetHeight.
... und waere dann bei Aenderung der Schriftgroesse durch den Nutzer o.ae. erneut und erneut abzufragen.
MfG ChrisB
Moin!
Nun soll der ganze dargestellte Text noch von einem Bild hinterlegt werden, das die gleiche 'height' wie der Text haben soll. Das Problem ist also dem Hintergrundbild die richtige 'height' zu verpassen.
Meine Idee wäre daher die Anzahl der Zeilen zu zählen die der String nach Zeilenumbrüchen hat, und danach die Bildhöhe zu bestimmen.
Du kennst die eingestellte Schriftgröße nicht, also kann es so nicht funktionieren.
Schreibe den Text in das div und ermittele danach die wirkliche Höhe mit offsetHeight
Cü,
Kai
Yay!!
Vielen Dank an euch beiden, das ist ganz genau das, was ich benötige!