Leere Absätze "anzeigen"
Kalle
- css
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 an, das nimmt im Ernstfall aber knappen Platz weg.
Lieben Gruß, Kalle.
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
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 ;-)
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
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
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
Postbank67890 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
Hi,
Heidmann Manfred Hegelstr. 55 12345 Musterstadt
Johlig Heidi Kantstr. 1 B 23456 Arnheim
Postbank 67890 FrankfurtDas 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
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 ist da wohl das kleinere Übel.
LG Kalle.
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 ist da wohl das kleinere Übel.
Mein Screenreader scheint bei leeren <p>s einzuschlafen. Er macht immer so hübsche Pausen.
Grüße
Roland
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
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
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