[Funktion] Dynamischen Text in zweispatiger Seite ausgeben

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Funktion] Dynamischen Text in zweispatiger Seite ausgeben

    Ich hab lange Texte, die ich aus meiner Datenbank hole und ausgebe. Ich fänds optisch besser, wenn ich den Text in zwei Spalten ausgeben könnt.
    Leider haben die Texte aber manchmal ein paar Worte vor dem Titel, dann den Titel und dann noch 'n paar Worte nach dem Titel, das alles fett gedruckt in der ersten Spalte, dann kommt der eigentliche Text , der beim Seitenende zum Drucken dann nicht per Browser auf die nächste Seite verlagert werden soll, sondern in die zweite Spalte auf der ersten Seite. Wenn die auch voll ist, soll der Text dann auf Seite 2, Spalte 1 weitergehen, dann zu Spalte 2, dann auf Seite 3 Spalte 1, dann Salte 2, usw. bis zum Ende des Textes.
    Da sich die Überschriftenlänge ändert, weiss ich nicht recht anzusetzen.
    Ich könnt ja die Spaltenhöhe in pixel abmessen, aber wie stell ich ne Beziehung zwischen ausgegebenem Text und erreichter Spaltenhöhe her?
    Hat jemand da ne Anregung/Lösung. Bin ziemlicher Anfänger, also hátt ich gern ne idiotensicher Lösung.

  • #2
    Wieso musst du denn einen Text in zwei Spalten ausgeben? Kannste das Ding wo der Text drinne is nich einfach breiter machen?
    Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

    Kommentar


    • #3
      http://www.php-resource.de/forum/sho...threadid=82401

      Kommentar


      • #4
        Original geschrieben von ArSeN
        Wieso musst du denn einen Text in zwei Spalten ausgeben? Kannste das Ding wo der Text drinne is nich einfach breiter machen?
        So kann man auch versuchen, Probleme zu lösen, wenn man nicht weiter weiss.

        Schon mal was von Design gehört?

        Kommentar


        • #5
          klingt gut

          Ich hab den thread jetzt gelesen, deine Idee am Ende hört sich ganz gut an, hab aber keine Ahnung von Javascript, kann nur ein bischen php / mysq. Hast du einen entsprechenden Kode?
          Dank im Voraus

          Kommentar


          • #6
            Siehe onemorenerd, du kannst nur versuchen mit Javascript eine Art Satzprogramm zu schreiben, das ist allerdings nicht so einfach, denk daran das der Benutzer die Schrift im Browser auch noch skalieren kann, all das muss mit einberechnet werden. Du solltest den Text lieber auf entsprechende Breite bringen (~600px).
            Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

            Kommentar


            • #7
              Original geschrieben von infomorelos
              So kann man auch versuchen, Probleme zu lösen, wenn man nicht weiter weiss.

              Schon mal was von Design gehört?
              Hä? Brauchst ja nich gleich frech werden, alta!

              Mal so nebenbei, ich hab mittlerweile schon so einige Webseiten umgesetzt, und habe dabei noch nie einen Text gebraucht der über 2 Spalten geht, ich kann mir absolut nicht vorstellen wozu das gut sein soll. Wenn du dein Problem also nichtmal richtig erklären kannst (weil es ein total unnötiges Problem ist das man auch umgehen kann) dann kann ich leider auch nicht dabei helfen.
              Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

              Kommentar


              • #8
                Original geschrieben von ArSeN
                Hä? Brauchst ja nich gleich frech werden, alta!

                ... ich hab mittlerweile schon so einige Webseiten umgesetzt, und habe dabei noch nie einen Text gebraucht der über 2 Spalten geht, ich kann mir absolut nicht vorstellen wozu das gut sein soll. Wenn du dein Problem also nichtmal richtig erklären kannst (weil es ein total unnötiges Problem ist das man auch umgehen kann) dann kann ich leider auch nicht dabei helfen.
                Ach so, du gehörst auch zu denen, die manglendes Aufnahme- bzw. Verständnisvermögen für klare Aussagen mit der Behauptung entgegnen der andere sei frech. Naja, das ist dein Bier, ich werd deshalb weder zum Simulanten noch zum Heuchler.

                Nun mal sachlich bleibend: Es gibt sowas wie Graphics Design als Studiengang, wobei der Schwerpunkt auf Sachen liegen kann, die bei webdesignern am verwandtesten mit style sheets sind.
                Und obwohl es Druckereien gibt, die ihren Kunden das 'Design' gratis zum Auftrag dazugeben, suche und habe ich Kunden, die mein Design bezahlen und zwar sehr gut. Falls ich zusätzlich den Auftrag mit der Druckerei koordiniere, kassiere ich dafür extra.
                Beim gratis dazugegebenem 'Design', was das Namen natürlich gar nicht verdient, das ist Pseudodesign, ist natürlich egal, welche Farbe du wofür oder und in welcher Kombination benutzt, wie gross oder klein die Elemente sind, oder wie angenehm oder unangenehm für das Auge das Lesen eines Textes ist, was u. a. mit der Spaltenbreite, der Buchstabengröesse (Überschriften, Lesegrössen, Konsultationsgrössen) und der Schriftart (hauptsächlich mit oder ohne Serif) zu tun hat.
                Ich hoffe du erkennst nun, dass ich mein Problem sehr wohl 'richtig erklären kann. ich glaube aber nicht, dass DU mir nun weiterhelfen kannst.

                Kommentar


                • #9
                  Original geschrieben von tontechniker
                  ...du kannst nur versuchen mit Javascript eine Art Satzprogramm zu schreiben, das ist allerdings nicht so einfach, ...
                  OK, wie gesagt hab ich von javascript null Ahnung, ich wäre dankbar, wenn du mir (in Anlehnung an onemoreners Ansatz) sagen könntest, wie der Kode für einen 'Container' und der Koder für das Umspringen auf den nächsten Container aussieht.

                  Das Problem mit der browserseitigen Skaliermöglichkeit kann ich tolerieren, es gibt ja genug pages, auf denen sowas wie 'am besten mit IE und 800x600 zu sehen, für 1024x768 hier klicken' steht (Was man natürlich mit entsprechender Kodierung automatisch je nach user hinkriegen kann). Ich hab kein Problem damit, hinzuschreiben, dass die optimale Schriftgrösse 'medium' ist (bin nicht sicher, ob das auch kodemässig lösbar wäre).

                  Also Container machen hört sich gut an, dann beim overflow umspringen zu nächsten, weiss auch nicht, wie ich meinen php-Kode (Text) dann in den javascriptkode einbinden kann.

                  Für Hilfe vielen Dank im Voraus

                  Kommentar


                  • #10
                    http://www.csscripting.com/css-multi-column/

                    Kommentar


                    • #11
                      Original geschrieben von onemorenerd
                      http://www.csscripting.com/css-multi-column/
                      Danke. Sieht echt vielversprechend aus, es gilt nur noch, den Kode zusammenzuflicken (und zu sehen, welche eventuelle Besonderheiten meiner Texte möglicherweise welche Konsequenzen haben). Was ich vor allem gesehen habe ist folgendes:

                      "
                      This is ok:
                      .article {
                      column-count: 3;
                      column-gap: 20px;
                      }

                      "
                      Bis hierhin sieht es ziemlich deutlich aus. Auch, dass diese Zeilen in einem externen style-sheet stehen sollten.
                      Nun beginnen aber meine Zweifel:
                      Normalerweise schreib ich in diesem Stil:
                      <table>
                      <tr>
                      <td>
                      <? echo $thisText1; ?>
                      </td>
                      </tr>

                      Muss ich die Klasse nun auf body, table, tr, td oder p anwenden? Oder sollte es ausserdem nötig sein, den contaner mit dem zu schaffen , was auf Seite 2 unter cross-browser checking des referierten sites steht:
                      This is the Test paragraph.
                      It's dimension are set through CSS.
                      #Container {
                      width: 600px;
                      padding: 3px;
                      background-color:#FFCC66;
                      margin: 1em 0;
                      }
                      #Test {
                      margin: 2px;
                      padding: 3px;
                      border: 2px solid #bbb;
                      background-color:#FFCCCC;
                      font-family: "Courier New", Courier, mono;
                      }

                      Ich nehme an, .article entspricht #Container, bin aber als js Anfänger absolut unsicher. Ausserdem seh ich nirgends eine, beispielsweise, height: 900 px; - Angabe, weder in der .article - Klasse noch im #Container - Teil.

                      Kommentar


                      • #12
                        Original geschrieben von onemorenerd
                        http://www.csscripting.com/css-multi-column/

                        Ich find die Idee gut, hab mir das script runtergeladen, mein stylsheet geschrieben und in der angebenen Reihenfolge im head- Teil daruaf verwiesen.
                        Jetzt bekomm ich den text in eine Spalte, die so breit ist wie ichs in der Klasse angebe, aber eben nur eine Spalte, obwohl ich in der Klasse 3 Spalten definiere.
                        In der .js-Datei seh ich nirgends ein Parameter zum einstellen der Höhe, automatisch springt auch nichts auf die zweite Spalte um.
                        Irgeneine Vorstellung davon, was los ist?
                        Inzwischne vesuch ich mal, den artikel in ne einzeilige und einspaltige tafel zu zwingen, vieleicht kommt dabei was raus. Ne, Pustekuchen, hab ich gemacht. mit fixer Breite und höhe der tafel, bleibta aber wirkungslos: eine Kilometerlange Spalte ist alles, was ich bekomme.
                        Irgenwie fehlt da doch ein Parameter, wo der Spaltenumsprung sein soll ...
                        seh ich aber im .js nicht ..., 'n Kontaktlink gibt's auf der Seite leider auch nicht.
                        Zuletzt geändert von infomorelos; 06.09.2007, 22:26.

                        Kommentar

                        Lädt...
                        X