Eric Teubert: Text wie in einem Buch

'N Abend!

Ich bin gerade am Überlegen, wie ich Text im Buchformat ausgeben kann. Dabei denke ich nicht an stinknormale Formatierung, sondern wie z.B. in der Bibel oder in Wörterbüchern - in Spaltenform.
Ich habe also einen Text vorliegen, sagen wir mal

$text = "Ganz viel";

Und der soll nicht langweilig über die ganze Seite von links nach rechts gehen, sondern spaltenweise zu lesen sein. Der Grundaufbau wäre wohl ein table ...

<table width="100%">
<tr>
  <td width="25%">
  </td>
  <td width="25%">
  </td>
  <td width="25%">
  </td>
  <td width="25%">
  </td>
</tr>
</table>

Nun besteht die Frage, wie man bestimmt, welcher Text wohinkommt. Mein erster Gedanke war, in einer Schleife den Text zu zerstückeln - je nach Anzahl Zeichen. Das Problem dabei ist, dass nicht jeder User dieselbe Auflösung nutzt, somit fällt diese Idee eigentlich schon flach ...

... jemand 'ne gute Idee? :)

MfG

Eric

  1. Hi,

    Der Grundaufbau wäre wohl ein table ...

    nein. Der Grundaufbau ist abhängig von der *Semantik* - eine Tabelle dient der Strukturierung tabellarischer Daten, nicht der Erzeugung von Spalten und/oder Zeilen. Die derzeit gewünschte Darstellung ist für die Wahl des HTML-Codes zu exakt 100% irrelevant. Darstellung ist CSS, und CSS erlaubt die Aufteilung in Spalten erst ab Version 3.0.

    Das Problem dabei ist, dass nicht jeder User dieselbe Auflösung nutzt,

    User "besitzen" keine Auflösung. *Nichts*, was für Dich in irgend einer Form von Belang sein könnte, hat auch nur im entferntesten etwas mit einer Auflösung zu tun. Deine Seiten werden in einem Browserfenster dargestellt - und wenn dessen Innengröße für Dich von Interesse wird, machst Du vermutlich etwas falsch.

    ... jemand 'ne gute Idee? :)

    Abwarten.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  2. Hej,

    Ich bin gerade am Überlegen, wie ich Text im Buchformat ausgeben kann.

    Das Mittel html ist eigentlich nicht für solche spirenzschen konzipiert, und daher lässt sich dein Vorhaben auch nicht ohne "aber" Umsetzen.

    [...]sondern spaltenweise zu lesen sein. Der Grundaufbau wäre wohl ein table ...

    Nicht alles was eine Spalte hat ist eine Tabelle: Mehrspaltige Layouts

    Nun besteht die Frage, wie man bestimmt, welcher Text wohinkommt.

    Zunächst möchtest du etwas in dieser Form:

    <div id="linkespalte">  
    Ganz viel text.</div>
    

    Nun hast du folgende Möglichkeiten:

    1. Mache die Annahme, dass dein Text eine Gleichverteilung der Wortlänge annimmt und spendiere genau bei der Hälfte der Wörter ein </div><div id="rechtespalte">.
      Nachteil: Es kann passieren (insbesondere bei kürzeren Texten), dass die Spalten unterschiedlich gefüllt sind.

    2. Beginne eine ganz große JavaScript-Murkserei, über deren Umsetzung du keine sichere Aussage treffen kannst:
      * Beginne damit die Breite (all.offsetWidth) des divs zu halbieren (minus dessen was du zwischen den spalten vorsiehst).
      * Bestimme jetzt die tatsächliche Höhe (all.offsetHeight) des divs.
      * Bestimme nun die Position deines Strings, der genau bei der Halbenhöhe des divs umbricht.
      * Mache alles rückgängig und füge zuletzt </div><div id="rechtespalte"> an der ermittelten Stelle ein.

    Beste Grüße
    Biesterfeld

    --
    Eine Klammer ist kein mathematischer Mülleimer!
    1. Hi,

      die Javascript-Variante ... hm, mal sehn, werd mich mal versuchen reinzulesen, da habe ich bis jetzt nur ein paar wenige Grundlagen.

      Den Teil mit CSS werde ich mir jetzt auf jeden Fall mal ansehen, da kenne ich mich schon etwas besser aus ...

      Danke erstmal für die Hinweise

      Eric

  3. Morgen'd!

    Auf den Seiten von todayonline kannst du dir ein Beispiel angucken, wie man so etwas unter heftigstem Einsatz von JS machen kann.

    Aber wie Cheatah schon schrieb - wirklich reif ist die Zeit für diese Dinge noch nicht.

    MfG

    Eric

    Gruß Gunther