Blockelemente schachteln div, p, table
Thoralf Knuth
- html
Hallo Selfraumlinge,
ich steh grad mächtig auf dem Schlauch. Ich habe eine Seite, die komplett valides HTML401 ist.
<p> ... </p> hab als zentrales Element drin. Nun hab ich bloß zum Testen für eine 2-spaltigen Text ene Blindtabelle eingefügt: <p> <table><tr><td></td></tr></table> </p>. Sieht in IE5, IE6, Opera 6, Opera 7 und Mozilla korrekt aus. Der Validator bemängelt das </p> als Abschluss eines nicht geöffneten Elements. Heisst also, <p> (wo ja das End-Tag optional ist) wird mit <table> als beendet betrachtet. Dennoch ist die Tabelle sichtbar innerhalb des Absatzes. Wenn Die Browser korrekt rendern würden, müsste doch die Tabelle dann NACH dem Absatz auftauchen, oder?
Wer irrt? Und wie mach ich's besser? div statt p und dann table und p innert eines divs?
Die Schachtelung brauche ich für die berühmten optischen Zwecke. ;) Die Tabelle ist nicht zwingend, aber das interessiert mich jetzt doch, warum das überall korrekt geht, und dennoch falsch ist.
Gruss, Thoralf
das ist nicht so schlimm... hau das </p> weg... das liegt daran, dass nach dem <p> ein <table>, aber noch viel schlimmer: ein </table> kommt... und der absatz <p> kann nur innerhalb eine tabelle, zelle existieren... das <p> tag wird nach einem </table> "automatisch" gesetzt.. bzw. interpretiert... d.h. du bräuchtest im IE z.B. kein </p> an der stelle...
volt
Hi,
Wer irrt?
beantworte die Frage selbst, nachdem Du in http://www.w3.org/TR/html401/struct/text.html#edef-P das Content-Modell von <p> recherchiert hast.
Und wie mach ich's besser? div statt p und dann table und p innert eines divs?
Beispielsweise.
Die Schachtelung brauche ich für die berühmten optischen Zwecke. ;) Die Tabelle ist nicht zwingend, aber das interessiert mich jetzt doch, warum das überall korrekt geht, und dennoch falsch ist.
Es "geht" wegen der hohen Fehlertoleranz der meisten Browser.
Cheatah
Hallo Cheatah,
beantworte die Frage selbst, nachdem Du in http://www.w3.org/TR/html401/struct/text.html#edef-P das Content-Modell von <p> recherchiert hast.
Danke, das war das Scheunentor, vor dem ich gestanden habe. Insbesondere http://www.w3.org/TR/html401/struct/global.html#h-7.5.4 hat mich dann wieder draufgebracht.
Und wie mach ich's besser? div statt p und dann table und p innert eines divs?
Beispielsweise.
Muss ich nun nur hoffen, dass die Browser das auch so anstandslos fressen, das bisherige hat soger der IE55 hier auf Arbeit noch sinnig hinbekommen, trotz CSS: ;)
Es "geht" wegen der hohen Fehlertoleranz der meisten Browser.
Nur genau das war mein Problem. Es ist kein Fehler. Denn laut Deinem Link oben ist das End-Tag beim P-Element optional. Also müsste bei der Tabelle das nächste Blockelement beginnen, sie müsste also nach dem Absatz stehen, nicht drin. Insoweit ist das doch dann ein Fehler in den Browser, oder dreh ich mich da wieder im Kreis?
Besten Dank, Thoralf
Hi,
Und wie mach ich's besser? div statt p und dann table und p innert eines divs?
Beispielsweise.
Muss ich nun nur hoffen, dass die Browser das auch so anstandslos fressen, das bisherige hat soger der IE55 hier auf Arbeit noch sinnig hinbekommen, trotz CSS: ;)
naja, wenn Du's vernünftig[tm] machst, sollte ein <div> nicht schlimmer sein als ein <p> :-)
Es "geht" wegen der hohen Fehlertoleranz der meisten Browser.
Nur genau das war mein Problem. Es ist kein Fehler. Denn laut Deinem Link oben ist das End-Tag beim P-Element optional. Also müsste bei der Tabelle das nächste Blockelement beginnen, sie müsste also nach dem Absatz stehen, nicht drin.
Ja, richtig; es sei denn, man bezieht die Fehlertoleranz auf das "richtige" Einbinden des </p>. Ansonsten wäre "Ratefähigkeit" vielleicht passender *g*
Cheatah
Hallo,
ich bin immer versucht, 'Hallo Forumsäffchen' zu schreiben. *bg*
naja, wenn Du's vernünftig[tm] machst, sollte ein <div> nicht schlimmer sein als ein <p> :-)
Wenn ich alles richtig habe, mach ich nur p zu div und im CSS noch sicherheitshalber ein display:block explizit mit rein.
Aber wenn ich fertig bin, belästige ich Euch eh damit nochmal. ;)
Ja, richtig; es sei denn, man bezieht die Fehlertoleranz auf das "richtige" Einbinden des </p>. Ansonsten wäre "Ratefähigkeit" vielleicht passender *g*
Ich bin dafür dankbar, ehrlich. ^^ Aber das ist doch Mist. Nicht raten, sondern machen, was ich sage. Ist ja wie auf Arbeit, alles muss man allen immer erklären. ;) ;)
Gruss, Thoralf
Hi,
ich bin immer versucht, 'Hallo Forumsäffchen' zu schreiben. *bg*
spielst Du auf "Cheetah", den nach dem englischen Wort für "Gepard" benamsten Schimpansen Tarzans an? ;-)
Wenn ich alles richtig habe, mach ich nur p zu div und im CSS noch sicherheitshalber ein display:block explizit mit rein.
Jau.
Aber wenn ich fertig bin, belästige ich Euch eh damit nochmal. ;)
Darauf wette ich ;-)
Ja, richtig; es sei denn, man bezieht die Fehlertoleranz auf das "richtige" Einbinden des </p>. Ansonsten wäre "Ratefähigkeit" vielleicht passender *g*
Ich bin dafür dankbar, ehrlich. ^^ Aber das ist doch Mist. Nicht raten, sondern machen, was ich sage. Ist ja wie auf Arbeit, alles muss man allen immer erklären. ;) ;)
Du hast das Leid fähiger Seitenetwickler recht gut umschrieben, genau wie die Freude unfähiger solcher.
Cheatah
Hallo,
spielst Du auf "Cheetah", den nach dem englischen Wort für "Gepard" benamsten Schimpansen Tarzans an? ;-)
Öh *drucks* joa ;) Ich 'sprech' das gedanklich gleich aus und da liegt das nahe. ;)
Wenn ich alles richtig habe, mach ich nur p zu div und im CSS noch sicherheitshalber ein display:block explizit mit rein.
Jau.
Dein Wort in Gottes Gehör. ;)
Aber wenn ich fertig bin, belästige ich Euch eh damit nochmal. ;)
Darauf wette ich ;-)
*gggg* Jetzt überleg ich glatt, wie ich die Antwort verstehe. :P
Du hast das Leid fähiger Seitenetwickler recht gut umschrieben, genau wie die Freude unfähiger solcher.
Das wiederrum verstehe als Kompliment und bedanke mich artig. Aber das ist heutzutage Mode, dass man keine Rücksicht auf Sinn und Verstand nimmt, sondern Dummheit und Faulheit unterstützt. Lesenswert dazu finde ich eine Klasse-Glosse bei heise: http://www.heise.de/security/artikel/38982 "Schwachstelle C/C++". Es steckt da mehr als nur das berühmte Körnchen drin. ;)
Gruss, Thoralf
Hi,
Öh *drucks* joa ;) Ich 'sprech' das gedanklich gleich aus und da liegt das nahe. ;)
da bist Du auch nicht der erste ;-)
Dein Wort in Gottes Gehör. ;)
Wenn ich Gott treffe, sag ich's ihr persönlich :-)
Aber wenn ich fertig bin, belästige ich Euch eh damit nochmal. ;)
Darauf wette ich ;-)
*gggg* Jetzt überleg ich glatt, wie ich die Antwort verstehe. :P
<strike/> ;-)
Du hast das Leid fähiger Seitenetwickler recht gut umschrieben, genau wie die Freude unfähiger solcher.
Das wiederrum verstehe als Kompliment und bedanke mich artig.
Eigentlich habe ich nur die Gelegenheit für einen allgemeinen Seufzer genutzt; aber ganz falsch liegst Du mit Deinem Verständnis nicht, denke ich.
Aber das ist heutzutage Mode, dass man keine Rücksicht auf Sinn und Verstand nimmt, sondern Dummheit und Faulheit unterstützt.
Ist ja auch viel leichter so. Hauptsache es funzt[tm] bei einem selbst.
Lesenswert dazu finde ich eine Klasse-Glosse bei heise: http://www.heise.de/security/artikel/38982 "Schwachstelle C/C++". Es steckt da mehr als nur das berühmte Körnchen drin. ;)
Tjaja ... und die Möchtegern-Programmierer gehen dann gleich zu PHP über, wo sie überhaupt nichts mehr zu können brauchen, um Sicherheitslöcher zu erzeugen ... :-/
Cheatah
Mittlerweile N'Abend ;)
da bist Du auch nicht der erste ;-)
Lach, also werd ich in Zukunft doch von Dir als Forumsäffchen reden. Oder ist Dir Forumsgepard lieber? ;) ;)
Wenn ich Gott treffe, sag ich's ihr persönlich :-)
Ja, sag ihr mal, sie schuldet mir einen Kaffee, die Wette mit der Menscheit hab ich gewonnen.
<strike/> ;-)
Ja ist das denn ein Board, oder was? :p
Eigentlich habe ich nur die Gelegenheit für einen allgemeinen Seufzer genutzt; aber ganz falsch liegst Du mit Deinem Verständnis nicht, denke ich.
Ich habe unterstellt, dass Du mich in den Kreis einbeziehst, weil ich wiederrum sicher bin, dass solche Seufzer nur bei Leuten ankommen, die wissen, wovon sie reden. Deswegen war ich auch recht froh um Deine Antwort.
Aber das ist heutzutage Mode, dass man keine Rücksicht auf Sinn und Verstand nimmt, sondern Dummheit und Faulheit unterstützt.
Ist ja auch viel leichter so. Hauptsache es funzt[tm] bei einem selbst.
Nuja, ich erzähl Dir nix neues, aber das funktioniert nur kurzfristig. Aber solange der HTML Code, den man geprogt hat, auch funzen tut, kann man den ja auch usen. Und wer nicht den IE benutzt, der is eh lang nimmer 1337 enuff. ;)
Lesenswert dazu finde ich eine Klasse-Glosse bei heise: http://www.heise.de/security/artikel/38982 "Schwachstelle C/C++". Es steckt da mehr als nur das berühmte Körnchen drin. ;)
Tjaja ... und die Möchtegern-Programmierer gehen dann gleich zu PHP über, wo sie überhaupt nichts mehr zu können brauchen, um Sicherheitslöcher zu erzeugen ... :-/
Und unsereiner muss dann damit leben, dass z.B. PHP eine arschlahme Dateiverwaltung hat, um wahrlich sinnlose Funktionen vor Deppen zu schützen.
Ich hab mit einem Hoster zu tun, der eine kleinere Gruppe zumeist jüngerer Webmaster auf die Menschheit loslässt. Wenn mehrere Projekte ihre ganzen Seiten mittels include( "http://.." ) auf den eigenen Server zusammenbauen, geht das seeeeehr schnell, bis der Indianer keucht.
Gruss, Thoralf
Hi,
Lach, also werd ich in Zukunft doch von Dir als Forumsäffchen reden. Oder ist Dir Forumsgepard lieber? ;) ;)
also, ich habe mich noch nie mit dem Forum gepaart, aber Äffchen ist auch nicht unbedingt das Gelbe vom Ohr ;-)
Wenn ich Gott treffe, sag ich's ihr persönlich :-)
Ja, sag ihr mal, sie schuldet mir einen Kaffee, die Wette mit der Menscheit hab ich gewonnen.
Werd ich ausrichten. Aber sag, ist der Kaffee eine Anspielung auf ihre Hautfarbe? ;-)
<strike/> ;-)
Ja ist das denn ein Board, oder was? :p
Woher soll ich das wissen? Ich bin hier nur Gast *g*
Ich habe unterstellt, dass Du mich in den Kreis einbeziehst, weil ich wiederrum sicher bin, dass solche Seufzer nur bei Leuten ankommen, die wissen, wovon sie reden. Deswegen war ich auch recht froh um Deine Antwort.
Ja, so gesehen hast Du natürlich Recht.
Ist ja auch viel leichter so. Hauptsache es funzt[tm] bei einem selbst.
Nuja, ich erzähl Dir nix neues, aber das funktioniert nur kurzfristig. Aber solange der HTML Code, den man geprogt hat, auch funzen tut, kann man den ja auch usen.
Genau. Neulich erzählte ich im Zusammenhang von OOP ./. prozeduraler Programmierung etwas von Magier-Stufen - der HTML-Programmierer ist eindeutig ein Stufe-0-Magier, findest Du nicht auch? :-)
Und wer nicht den IE benutzt, der is eh lang nimmer 1337 enuff. ;)
Hm, da muss ich jetzt passen. "Leet"?
Tjaja ... und die Möchtegern-Programmierer gehen dann gleich zu PHP über, wo sie überhaupt nichts mehr zu können brauchen, um Sicherheitslöcher zu erzeugen ... :-/
Und unsereiner muss dann damit leben, dass z.B. PHP eine arschlahme Dateiverwaltung hat, um wahrlich sinnlose Funktionen vor Deppen zu schützen.
Ich bin zwar recht froh, nicht mit PHP arbeiten zu müssen; aber im Ausgleich bin ich hier mit einem System geschlagen, dessen Array-Funktionalität durch ein externes (C++-)Modul geht, welches die Geschwindigkeit eines Datenbankzugriffes hat ... *ächz* :-)
Ich hab mit einem Hoster zu tun, der eine kleinere Gruppe zumeist jüngerer Webmaster auf die Menschheit loslässt. Wenn mehrere Projekte ihre ganzen Seiten mittels include( "http://.." ) auf den eigenen Server zusammenbauen, geht das seeeeehr schnell, bis der Indianer keucht.
Du hast mein augerichtetes Beinkleid. Oder so ähnlich :-)
Cheatah
N'Abend,
also, ich habe mich noch nie mit dem Forum gepaart, aber Äffchen ist auch nicht unbedingt das Gelbe vom Ohr ;-)
Dann also doch lieber Blauer Boardgepard? *shauf*
Werd ich ausrichten. Aber sag, ist der Kaffee eine Anspielung auf ihre Hautfarbe? ;-)
Nee, aber immer, wenn sie auf meinem Stuhl sitzt, treibt sie Unfug. Und wir hatten bzgl. der Menschen vor Äonen mal gewettet, weiss nicht mehr, worum genau, aber die Wette hatte ich gewonnen und seitdem schuldet sie mir einen Kaffee. ;)
Woher soll ich das wissen? Ich bin hier nur Gast *g*
Nuja, ich bin ja auch nicht wirklich registriert.
Ja, so gesehen hast Du natürlich Recht.
Geht nämlich nicht nur Dir so. Und ist lang nimmer nur auf den PC und das Netz beschränkt.
Genau. Neulich erzählte ich im Zusammenhang von OOP ./. prozeduraler Programmierung etwas von Magier-Stufen - der HTML-Programmierer ist eindeutig ein Stufe-0-Magier, findest Du nicht auch? :-)
Mit den Magiern kenn ich mich nicht aus, sagt mir also nix. Aber den Programmierer-Status würde ich jedem HTML'er aberkennen. ;)
Hm, da muss ich jetzt passen. "Leet"?
Die Suche ist Dein Freund. *feix von einem bis zum anderen Ohr* ;) Im Ernst, ist supertolle Hackersprache. Also die Art von Hackern, vor denen sich der normale PC Anwender mit der Norton Firewall, Zonealarm & Co schützt. </archiv/2002/11/29115/#m157894>
Ich bin zwar recht froh, nicht mit PHP arbeiten zu müssen; aber im Ausgleich bin ich hier mit einem System geschlagen, dessen Array-Funktionalität durch ein externes (C++-)Modul geht, welches die Geschwindigkeit eines Datenbankzugriffes hat ... *ächz* :-)
Begnüge Dich mit dem, was Dir gegeben. *singsang* ;)) Hach, war TASM was feines .. oder A86. ;)
Du hast mein augerichtetes Beinkleid. Oder so ähnlich :-)
Ich nehm das ähnliche. ;)
Gruss, Thoralf
Hi,
also, ich habe mich noch nie mit dem Forum gepaart, aber Äffchen ist auch nicht unbedingt das Gelbe vom Ohr ;-)
Dann also doch lieber Blauer Boardgepard? *shauf*
blau? Also, auch wenn man mir es vielleicht nicht angemerkt hat: Ich war gestern _nicht_ betrunken ;-)
Werd ich ausrichten. Aber sag, ist der Kaffee eine Anspielung auf ihre Hautfarbe? ;-)
Nee, aber immer, wenn sie auf meinem Stuhl sitzt, treibt sie Unfug.
Ich kenne das, ich kenne das ...
Und wir hatten bzgl. der Menschen vor Äonen mal gewettet, weiss nicht mehr, worum genau, aber die Wette hatte ich gewonnen und seitdem schuldet sie mir einen Kaffee. ;)
Gott war immer der Meinung, der Mensch sei die Krone der Schöpfung, vielleicht ging's darum? Ich weiß auch nicht, warum sie immer die Kakerlaken vergisst ...
Woher soll ich das wissen? Ich bin hier nur Gast *g*
Nuja, ich bin ja auch nicht wirklich registriert.
Doch, ich hab Dich registriert. Gestern schon, als Du Dein Posting schriebst - war kaum zu übersehen.
Genau. Neulich erzählte ich im Zusammenhang von OOP ./. prozeduraler Programmierung etwas von Magier-Stufen - der HTML-Programmierer ist eindeutig ein Stufe-0-Magier, findest Du nicht auch? :-)
Mit den Magiern kenn ich mich nicht aus, sagt mir also nix. Aber den Programmierer-Status würde ich jedem HTML'er aberkennen. ;)
Na eben, genau das sagte ich doch ;-)
Hm, da muss ich jetzt passen. "Leet"?
Die Suche ist Dein Freund. *feix von einem bis zum anderen Ohr* ;)
Die was? ;-)
Im Ernst, ist supertolle Hackersprache. Also die Art von Hackern, vor denen sich der normale PC Anwender mit der Norton Firewall, Zonealarm & Co schützt. </archiv/2002/11/29115/#m157894>
Naja, soweit war's mir klar; und laut dem Link (danke) war meine Interpretation sogar richtig. Ich versteh's trotzdem nicht ... Modewort? Zumindest glaube ich nicht, dass eine Interessentenliste gemeint ist ;-)
Ich bin zwar recht froh, nicht mit PHP arbeiten zu müssen; aber im Ausgleich bin ich hier mit einem System geschlagen, dessen Array-Funktionalität durch ein externes (C++-)Modul geht, welches die Geschwindigkeit eines Datenbankzugriffes hat ... *ächz* :-)
Begnüge Dich mit dem, was Dir gegeben.
Eine Sprache, die keine Funktionen (von Objekten ganz zu schweigen) kennt? Eine Sprache, der man ein externes Modul für Arrays verpassen muss? Eine Sprache, bei der man für Floating-Point-Berechnungen <ernsthaft> SQL-Statements benutzt </ernsthaft> und die Ergebnisse als String weiterverwendet? Mami, ich will nach Hause ... :-)
*singsang* ;)) Hach, war TASM was feines .. oder A86. ;)
*g*
Du hast mein augerichtetes Beinkleid. Oder so ähnlich :-)
Ich nehm das ähnliche. ;)
Danke sehr ;-)
Cheatah
Moinsen,
blau? Also, auch wenn man mir es vielleicht nicht angemerkt hat: Ich war gestern _nicht_ betrunken ;-)
Ich bezog das natürlich rein auf eine Farbe, die sich von Gelb unterscheidet. Der Holunderwein gehört hier ja zu jemand anderem ;)
Ich kenne das, ich kenne das ...
Ach Du auch? :p
Gott war immer der Meinung, der Mensch sei die Krone der Schöpfung, vielleicht ging's darum? Ich weiß auch nicht, warum sie immer die Kakerlaken vergisst ...
Weil wir die Erfahrung gemacht haben, dass da ein hartnäckiger Bug in Race.Human.Character.Ego ist, der das immer wieder verhindert. Es ist bisher nicht möglich, das wirklich verbindlich dem Menschen beizubringen. ;)
Doch, ich hab Dich registriert. Gestern schon, als Du Dein Posting schriebst - war kaum zu übersehen.
Wieder ein sarkastischer Satz. Mich schmunzelt. ;)
Na eben, genau das sagte ich doch ;-)
Na dann: *zustimm* ;)
Die was? ;-)
Lies die FAQ! *bg*
Naja, soweit war's mir klar; und laut dem Link (danke) war meine Interpretation sogar richtig. Ich versteh's trotzdem nicht ... Modewort? Zumindest glaube ich nicht, dass eine Interessentenliste gemeint ist ;-)
Nö .. ich bezog das auf die Usergruppe, die Progz uset. :o)
Ich bin zwar recht froh, nicht mit PHP arbeiten zu müssen
Ich arbeite recht gern damit, leicht und schnell für zwischendurch. ;)
Eine Sprache, die keine Funktionen (von Objekten ganz zu schweigen) kennt? Eine Sprache, der man ein externes Modul für Arrays verpassen muss? Eine Sprache, bei der man für Floating-Point-Berechnungen <ernsthaft> SQL-Statements benutzt </ernsthaft> und die Ergebnisse als String weiterverwendet? Mami, ich will nach Hause ... :-)
gwbasic? :p
Danke sehr ;-)
Bitte, gern geschehen.
Gruss, Thoralf
Moin Moin !
Lesenswert dazu finde ich eine Klasse-Glosse bei heise: http://www.heise.de/security/artikel/38982 "Schwachstelle C/C++". Es steckt da mehr als nur das berühmte Körnchen drin. ;)
Wunderschöner Artikel. Um einen meiner Profs zu zitieren: "Für C sollte man einen Waffenschein brauchen."
Alexander
Hallo,
Lesenswert dazu finde ich eine Klasse-Glosse bei heise: http://www.heise.de/security/artikel/38982 "Schwachstelle C/C++". Es steckt da mehr als nur das berühmte Körnchen drin. ;)
Wunderschöner Artikel. Um einen meiner Profs zu zitieren: "Für C sollte man einen Waffenschein brauchen."
Für A und B auch ;-))
http://www.dilac.de/comp/april.html
... ist zwar schon älter, aber auch immer wieder schön.
viele Grüße
Axel
N'Abend,
Wunderschöner Artikel. Um einen meiner Profs zu zitieren: "Für C sollte man einen Waffenschein brauchen."
Gesunder Menschenverstand reicht, aber der ist noch dünner gesät. ;)
Gruss, Thoralf
Hallo.
Wunderschöner Artikel. Um einen meiner Profs zu zitieren: "Für C sollte man einen Waffenschein brauchen."
Ich weiß nicht mehr, von wem ich es habe, aber "C ist wie Russisches Roulette -- nur mit Pointern!" fand ich noch besser ;-)
MfG, at