Kalle: Leere Absätze "anzeigen"

Hi,

ich mache Seiten mit PHP, es kann Felder ohne Inhalt geben.

Zum Anzeigen leerer Tabellenfelder gibt's ja diesen:
table {empty-cells:show}
damit wird z.B. die Hintergrundfarbe angezeigt.

Nun möchte ich Tabellen-Layout durch CSS ersetzen, <td> wird zu <p>
Und wenn <p> leer ist, muss trotzdem der Platz "freigehalten" werden.

Wie geht das?
Behelf: Ich hänge ein &nbsp; an, das nimmt im Ernstfall aber knappen Platz weg.

Lieben Gruß, Kalle.

  1. Hi,

    Nun möchte ich Tabellen-Layout durch CSS ersetzen,

    ein hervorragendes Vorhaben, aber:

    <td> wird zu <p>

    Nein. _Absätze im Fließtext_ werden zu <p>. Gehe davon aus, dass Dein _gesamter_ bisheriger Code unbrauchbar ist. Eine wie auch immer geartete Ersetzung ist es folglich ebenfalls.

    Und wenn <p> leer ist,

    ... wird das Universum durch etwas anderes, noch viel komplexeres ersetzt. Leere <p> existieren nicht.

    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
    1. Hallo Cheatah,

      Nun möchte ich Tabellen-Layout durch CSS ersetzen,
      <td> wird zu <p>

      Gehe davon aus, dass Dein _gesamter_ bisheriger Code unbrauchbar ist. Eine wie auch immer geartete Ersetzung ist es folglich ebenfalls.

      Jain. Man könnte anstatt eines leeren td-Elements <p> mit entsprechenden CSS-Deklarationen ausgeben. Die Frage ist, was genau erreicht werden soll. Ob man zur Gestaltung nun mit <div> oder <p> um sich wirft, ist letztlich egal, denn einen Tabellennachbau bekommt man damit nicht hin.

      Und wenn <p> leer ist,

      ... wird das Universum durch etwas anderes, noch viel komplexeres ersetzt.

      <♀>?

      Leere <p> existieren nicht.

      Unsinn. Sieh dich doch auf einer durchschnittlichen privaten Homepage um. Leere <p>s sind die am häufigsten vorkommenden Elemente, daran ändert auch deren Inhalt nichts.

      Grüße
       Roland ;-)

      1. Hi,

        ... wird das Universum durch etwas anderes, noch viel komplexeres ersetzt.
        <♀>?

        (das war gedächtniszitiert aus "Per Anhalter durch die Galaxis" ;-)

        Leere <p> existieren nicht.
        Unsinn. Sieh dich doch auf einer durchschnittlichen privaten Homepage um. Leere <p>s sind die am häufigsten vorkommenden Elemente, daran ändert auch deren Inhalt nichts.

        Ich rede von HTML, nicht von etwas, das HTML ähnlich sieht.

        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. Hi, Cheatah,

      habe deinen Rat immer geschätzt, aber was du mir heute sagen willst, verstehe nicht *ratlosguck*

      Ich will per CSS eine Adressliste mal so:
      Heidmann   Manfred   Hegelstr. 55  12345 Musterstadt
      Johlig     Heidi     Kantstr. 1 B  23456 Arnheim
      Postbank                           67890 Frankfurt

      und mal so aussehen lassen:

      Herrn
      Manfred Heidmann
      Hegelstr. 55

      12345 Musterstadt
      ----- Seitenwechsel beim Druck -----
      Frau
      Heidi Johlig
      Kantstr. 1 B

      23456 Arnheim
      ----- Seitenwechsel beim Druck -----
      An
      Postbank

      67890 Frankfurt

      Du siehst die fehlende Strasse bei der Postbank? Die kloppt mir mein Layout kaputt, wenn der Platz NICHT freigehalten wird.

      Und das komplexe Universum kann mir helfen ... ?

      Kalle

      1. Hallo Kalle,

        Heidmann   Manfred   Hegelstr. 55  12345 Musterstadt
        Johlig     Heidi     Kantstr. 1 B  23456 Arnheim
        Postbank                           67890 Frankfurt

        Das ist eine Tabelle. Genau dafür wurden sie erfunden.

        ----- Seitenwechsel beim Druck -----
        An
        Postbank

        67890 Frankfurt
        ----- Seitenwechsel beim Druck -----

        Du siehst die fehlende Strasse bei der Postbank? Die kloppt mir mein Layout kaputt, wenn der Platz NICHT freigehalten wird.

        Für jede leere Zeile erhöhst du den Wert in <p style="margin-top:0em"> in der nächstfolgenden um ein em. Eine leere Zeile = 1em usw. usf.

        Grüße
         Roland

        1. Hi,

          Heidmann   Manfred   Hegelstr. 55  12345 Musterstadt
          Johlig     Heidi     Kantstr. 1 B  23456 Arnheim
          Postbank                           67890 Frankfurt

          Das ist eine Tabelle. Genau dafür wurden sie erfunden.

          Genau. Und nur die Tatsache, daß die einzelnen Zellen einer Zeile untereinander dargestellt werden sollen, ist kein Grund, aus der Tabelle eine nicht-Tabelle zu machen.

          Richtige Browser machen bei
          table,tbody,tr,td { display:block; }
          das, was von ihnen erwartet wird.
          Dazu noch ein [min-]height für td, um die "Leerzeilen" zu erzwingen.
          Und page-break-after für die tr für die Seitenwechsel beim Druck.

          Wenn also der IE keine Rolle spielen sollte (der natürlich wieder mal zu blöd dafür ist), gibt es keinen Grund, für die Darstellung die Struktur zu verändern.

          cu,
          Andreas

          --
          Warum nennt sich Andreas hier MudGuard?
          Schreinerei Waechter
          Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
        2. Hallo Roland,

          Für jede leere Zeile erhöhst du den Wert in <p style="margin-top:0em"> in der nächstfolgenden um ein em. Eine leere Zeile = 1em usw. usf.

          Ja, wenn ich CSS in HTML einbinde, also Inhalt und Layout mische. Ich denke, das ist hier verpönt?

          Also, mein angehängtes &nbsp; ist da wohl das kleinere Übel.

          LG Kalle.

          1. Hallo Kalle,

            margin-top

            Ja, wenn ich CSS in HTML einbinde, also Inhalt und Layout mische. Ich denke, das ist hier verpönt?

            Ein anderer browserübergreifender Weg existiert nicht. Ob du style-Attribute oder Klassen einsetzen willst, nimmt sich nicht viel.

            Also, mein angehängtes &nbsp; ist da wohl das kleinere Übel.

            Mein Screenreader scheint bei leeren <p>s einzuschlafen. Er macht immer so hübsche Pausen.

            Grüße
             Roland

          2. hi,

            Für jede leere Zeile erhöhst du den Wert in <p style="margin-top:0em"> in der nächstfolgenden um ein em. Eine leere Zeile = 1em usw. usf.

            Ja, wenn ich CSS in HTML einbinde, also Inhalt und Layout mische. Ich denke, das ist hier verpönt?

            Dann packe doch alle vier möglichen "Zeilen" in einen Container - dem du eine (Mindest-)Höhe von meinetwegen 4em gibst.

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
      2. Hi,

        habe deinen Rat immer geschätzt, aber was du mir heute sagen willst, verstehe nicht *ratlosguck*

        bei der Konvertierung einer Struktur mit "unbeliebten" in "beliebte" Elemente hast Du die Qualität des Codes nicht verändert. Lauter <td> pauschal in <p>, <div> oder sonstwas zu ändern ist also sinnfrei. Wähle die richtige Struktur nicht aufgrund einer falschen Struktur, sondern anhand Deiner Inhalte. Damit ist es absolut unmöglich, dass jemals ein <p> ohne Inhalt existiert.

        Ich will per CSS eine Adressliste mal so:

        Siehe Orlandos Antwort.

        und mal so aussehen lassen:

        Du kannst den existierenden - richtig gewählten - <td>-Elementen jedes Aussehen verpassen, das auch bei anderen Elementen möglich wäre. Überlege Dir, wie Du den Code CSS-formatieren würdest, wenn es sich nicht um eine Tabelle handelte, sondern um z.B. einige <span>. (Diese wären falsch gewählt, aber Deine Erkenntnisse kannst Du übernehmen.)

        Und das komplexe Universum kann mir helfen ... ?

        Es gibt eine Theorie, nach der das bereits geschehen ist ;-)

        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
        1. Hallo,

          Und das komplexe Universum kann mir helfen ... ?

          Es gibt eine Theorie, nach der das bereits geschehen ist ;-)

          Ja, sogar mehrfach, aber nur, wenn man für "Wahrheit" einen bestimmten Wert annimmt.

          viele Grüße ;-)

          Axel