Gunther: Übersicht über "sich ausschließende CSS-Eigenschaften"?

Hallo werte Selfgemeinde!

Gibt es eigentlich irgendwo im Netz eine Übersicht über sich gegenseitig ausschließende, und implizite CSS-Eigenschaften, bzw. über die "Beziehung" verschiedener CSS-Eigenschaften untereinander?

Ich stehe schon bei den entsprechenden Suchbegriffen für eine SuMa auf dem Schlauch ...!
Vielleicht kann mir ja auch dabei jemand auf die Sprünge helfen?

Noch nicht klar, was ich meine?
Dann hier ein paar Beispiele:

1. 'float' (nicht 'none') - impliziert 'display:block' für das gefloatete Element (wenn kein Wert für 'display' angegeben ist)
2. 'border-collapse: collapse' und 'border-spacing' schließen einander aus

Für entsprechende Tipps & Links meinen besten Dank im Voraus.

Gruß Gunther

PS:
@Matthias - Falls es das in der Form noch nicht geben sollte (wovon ich ausgehe), wäre das auch eine "nette Rubrik" für's Wiki ...! ;-)

  1. Om nah hoo pez nyeetz, Gunther!

    @Matthias - Falls es das in der Form noch nicht geben sollte (wovon ich ausgehe), wäre das auch eine "nette Rubrik" für's Wiki ...! ;-)

    Du bist herzlich eingeladen, diese Rubrik ins Leben zu rufen, wobei ich es besser fände, wenn entsprechende Hinweise bei den Eigenschaften direkt erscheinen.

    Matthias

    --
    Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Klo und Kloster.

    1. Om nah hoo pez nyeetz, Matthias!

      @Matthias - Falls es das in der Form noch nicht geben sollte (wovon ich ausgehe), wäre das auch eine "nette Rubrik" für's Wiki ...! ;-)

      Du bist herzlich eingeladen, diese Rubrik ins Leben zu rufen, wobei ich es besser fände, wenn entsprechende Hinweise bei den Eigenschaften direkt erscheinen.

      Danke - ich würde mich zumindest auch daran beteiligen.
      Ist ja eine Aufstellung, die nach und nach wachsen kann und nicht auf einen Schlag "vollständig" sein muss.

      "Hinweise bei den Eigenschaften direkt" können ja trotzdem vorhanden sein. Dennoch fände ich auch/ zusätzlich eine direkte (alphabetische) Übersicht zumindest "hilfreich".

      Bliebe vorab zu klären, wie man das "Template mäßig" am besten gestaltet, sodass es möglichst "universell" verwendbar ist?

      Gruß Gunther

      1. Om nah hoo pez nyeetz, Gunther!

        Bliebe vorab zu klären, wie man das "Template mäßig" am besten gestaltet, sodass es möglichst "universell" verwendbar ist?

        Da habe ich überhaupt keine Idee. Eventuell auf der Seite http://wiki.selfhtml.org/wiki/CSS/Eigenschaften eine weitere Überschrift?

        Für komplexere Probleme (float - position) könnte es dann jeweils eigene Artikel geben.

        Matthias

        --
        Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Gummi und Gummibärchen.

        1. Om nah hoo pez nyeetz, Matthias!

          Da habe ich überhaupt keine Idee. Eventuell auf der Seite http://wiki.selfhtml.org/wiki/CSS/Eigenschaften eine weitere Überschrift?

          Ja, vlt. am besten unter "siehe auch"!?

          Für komplexere Probleme (float - position) könnte es dann jeweils eigene Artikel geben.

          Du meinst wie bspw. die "collapsing margins", die im Artikel "Box-Modell" zu finden sind?

          BTW: Die Sprache des Webdesigns ist nun mal Englisch. Ich finde daher, dass man primär die Englischen Bezeichnungen verwenden sollte (und in Klammern meinetwegen die Deutschen Übersetzungen). ;-)
          Ganz "schlimm" sind diese denglischen Konstrukte, auch wenn bspw. Wikipedia denselben "Unsinn" macht. Denn imho heißt das entweder "Box Model" oder "Boxen-Modell", aber "Box-Modell" geht ja gar nicht ...! ;-)

          Gruß Gunther

          1. Om nah hoo pez nyeetz, Gunther!

            Ganz "schlimm" sind diese denglischen Konstrukte, auch wenn bspw. Wikipedia denselben "Unsinn" macht. Denn imho heißt das entweder "Box Model" oder "Boxen-Modell", aber "Box-Modell" geht ja gar nicht ...! ;-)

            Es steht dir frei, dies zu ändern.

            Matthias

            --
            Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Penn und Penner.

            1. habe ein gewisses Interesse, an diesem Projekt mitzuwirken.

              Vor einigen Jahren war ich beteiligt an einem Self-Treffen, habe sehr, sehr viel Hilfe hier seit Beginn meiner Web-Programmierung (anno 2001) bekommen und bin bereit, etwas einzuzahlen in Form von Zeit und Engagement.

              Kenntnisse: HTML, CSS, Javascript, MySQL

              Hintergrund: Softwareentwickler für die Industrie und den Mittelstand, lange bevor es das Web gab.

              Gast

              ... der das "Gedächtnis" des Internets kritisch sieht und deshalb gelegentlich seinen "Wiedererkennungswert" ändert.

              1. Om nah hoo pez nyeetz, Gast!

                habe ein gewisses Interesse, an diesem Projekt mitzuwirken.

                Das freut mich sehr. Auf welchem Kommunikationsweg können wir uns über sinnvolle Beiträge deinerseits unterhalten?

                Matthias

                --
                Der Unterschied zwischen Java und JavaScript ist größer als der zwischen wir und Wirrwarr.

                1. Das freut mich sehr. Auf welchem Kommunikationsweg können wir uns über sinnvolle Beiträge deinerseits unterhalten?

                  Du hast Mail.

                  Gast

            2. Om nah hoo pez nyeetz, Matthias!

              Ganz "schlimm" sind diese denglischen Konstrukte, auch wenn bspw. Wikipedia denselben "Unsinn" macht. Denn imho heißt das entweder "Box Model" oder "Boxen-Modell", aber "Box-Modell" geht ja gar nicht ...! ;-)

              Es steht dir frei, dies zu ändern.

              Ja ja ..., ich weiß.
              Aber es war mehr als "Anregung" gedacht, denn bei solch einem umfangreichen Werk sollte es ja diesbezüglich auch eine gewisse Konsistenz geben.

              Gruß Gunther

              BTW: Unterschied zwischen ... - Penne und Penner (gefiele mir noch besser als Penn). ;-)

              1. Om nah hoo pez nyeetz, Gunther!

                BTW: Unterschied zwischen ... - Penne und Penner (gefiele mir noch besser als Penn). ;-)

                Nudeln? Schule?

                Gast - Gastritis

                Matthias

                --
                Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Spitz und Spitzer.

              2. BTW: Unterschied zwischen ... - Penne und Penner (gefiele mir noch besser als Penn). ;-)

                Nicht nur die Worte, auch die (aus dem Wort nicht erkennbaren) Inhalte sind wichtig:

                Ich habe einen wunderbaren Eichentisch, vom Tischler gemacht. Jetzt suche ich einen Bettler, der mir ein ebenso wunderbares Bett macht.

                1. Om nah hoo pez nyeetz, Gast!

                  Ich habe einen wunderbaren Eichentisch, vom Tischler gemacht. Jetzt suche ich einen Bettler, der mir ein ebenso wunderbares Bett macht.

                  *g*

                  Matthias

                  --
                  Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Mark und Markt.
  2. Hallo,

    Gibt es eigentlich irgendwo im Netz eine Übersicht über sich gegenseitig ausschließende, und implizite CSS-Eigenschaften, bzw. über die "Beziehung" verschiedener CSS-Eigenschaften untereinander?

    Es gibt zumindest das:
    Relationships between 'display', 'position', and 'float'

    Ansonsten gibt es natürlich Eigenschaften, die nur in Kombination wirken. In der CSS-Spec steht bei jeder Eigenschaft der Anwendungsbereich. Z.B. »Applies to: positioned elements« oder »Applies to: inline-level and 'table-cell' elements«.

    Mathias

    1. Hallo Mathias!

      Gibt es eigentlich irgendwo im Netz eine Übersicht über sich gegenseitig ausschließende, und implizite CSS-Eigenschaften, bzw. über die "Beziehung" verschiedener CSS-Eigenschaften untereinander?

      Es gibt zumindest das:
      Relationships between 'display', 'position', and 'float'

      Ja, genau auf diesen Teil der Spec bezog sich mein 1. Beispiel ...! ;-)
      Und es ist sicherlich auch einer der "umfangreichsten & gravierendsten" Fälle.

      Ansonsten gibt es natürlich Eigenschaften, die nur in Kombination wirken. In der CSS-Spec steht bei jeder Eigenschaft der Anwendungsbereich. Z.B. »Applies to: positioned elements« oder »Applies to: inline-level and 'table-cell' elements«.

      Ja klar steht das alles "irgendwo" in einer der zahlreichen Specs, aber das ist halt ziemlich "umständlich", wenn man sich vorher jedes Mal die komplette Spec zu einer Eigenschaft durchlesen muss, nur um etwas über etwaige "Wechselwirkungen" zu erfahren. Daher mein Gedanke, das in einer Übersicht zusammenzufassen.

      Denn es ist bspw. äußerst "mühsam" in der Spec. "einfach herauszulesen", dass Margins bei einem Element mit dem Wert 'table-cell' für 'display' vom Browser automatisch auf Null gesetzt werden.

      Gruß Gunther

      1. @@Gunther:

        nuqneH

        Denn es ist bspw. äußerst "mühsam" in der Spec. "einfach herauszulesen", dass Margins bei einem Element mit dem Wert 'table-cell' für 'display' vom Browser automatisch auf Null gesetzt werden.

        An welcher Stelle sollte das denn drinstehen?

        Qapla'

        --
        „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
        1. Om nah hoo pez nyeetz, Gunnar Bittersmann!

          Denn es ist bspw. äußerst "mühsam" in der Spec. "einfach herauszulesen", dass Margins bei einem Element mit dem Wert 'table-cell' für 'display' vom Browser automatisch auf Null gesetzt werden.

          An welcher Stelle sollte das denn drinstehen?

          http://www.w3.org/TR/CSS2/box.html#propdef-margin

          Matthias

          --
          Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Tal und Talg.

          1. @@Matthias Apsel:

            nuqneH

            Denn es ist bspw. äußerst "mühsam" in der Spec. "einfach herauszulesen", dass Margins bei einem Element mit dem Wert 'table-cell' für 'display' vom Browser automatisch auf Null gesetzt werden.

            An welcher Stelle sollte das denn drinstehen?

            http://www.w3.org/TR/CSS2/box.html#propdef-margin

            ?? Suche nach "table-cell" auf der Seite ergibt keinen Treffer.

            Worauf genau willst du hinaus?

            Qapla'

            --
            „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
            1. Om nah hoo pez nyeetz, Gunnar Bittersmann!

              Ich gehe mal davon aus, dass du genau weißt, dass auf Elemente wie tr, td; oder solche, die display: table-* bekommen, die Eigenschaft margin nicht anwendbar ist.

              "Applies to: all elements except elements with table display types other than table-caption, table and inline-table"

              http://wiki.selfhtml.org/wiki/Referenz:CSS/Eigenschaften/margin

              wobei da die Formulierung fehlt: "table-caption doch"

              Matthias

              --
              Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Lego und Legolas.

              1. @@Matthias Apsel:

                nuqneH

                Ich gehe mal davon aus, dass du genau weißt, dass auf Elemente wie tr, td; oder solche, die display: table-* bekommen, die Eigenschaft margin nicht anwendbar ist.

                Ah. Das ist aber was anderes als „automatisch auf Null gesetzt werden“.

                Qapla'

                --
                „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
                1. Om nah hoo pez nyeetz, Gunnar Bittersmann!

                  Ah. Das ist aber was anderes als „automatisch auf Null gesetzt werden“.

                  Ohne das jetzt testen zu wollen: Es wird darauf hinauslaufen, dass "kein margin" "margin: 0;" bedeutet.

                  Matthias

                  --
                  Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Ara und Araber.

                2. @@Gunnar:

                  nuqneH

                  Ich gehe mal davon aus, dass du genau weißt, dass auf Elemente wie tr, td; oder solche, die display: table-* bekommen, die Eigenschaft margin nicht anwendbar ist.

                  Ah. Das ist aber was anderes als „automatisch auf Null gesetzt werden“.

                  Siehste - da sind wir doch schon bei einem der Knackpunkte ...! ;-)

                  In der Spec steht:"Internal table elements do not have margins."

                  Und was genau "heißt/ bedeutet" das jetzt?

                  Man kann diesen Elementen in seinem CSS ja sehr wohl Werte für Margin verpassen, und kein Validator würde das "beanstanden".

                  Die Browser "ignorieren" (korrekterweise) diese Angaben. Ich finde aber in der Spec keine Angaben, die explizit etwas über das Verhalten der UAs aussagen würden.

                  Gruß Gunther

                  1. @@Gunther:

                    nuqneH

                    die Eigenschaft margin nicht anwendbar ist.

                    Ah. Das ist aber was anderes als „automatisch auf Null gesetzt werden“.

                    In der Spec steht:"Internal table elements do not have margins."

                    Was was anderes ist als 'margin: 0' (dann hätten sie ja margin, zwar null, aber der wäre dann änderbar).

                    Das ist in etwa derselbe Unterschied wie der Fehler in der deutschen Übersetzung der CSS-2.0-Spec, wo „Default value: none“ jedesmal übersetzt wurde mit „Ausgangswert: keiner“. (Doch, es gibt einen Ausgangswert, nähmlich 'none'.)

                    Das ITS-Attribute translate="no" hätten den Fehler verhindern können.

                    Man kann diesen Elementen in seinem CSS ja sehr wohl Werte für Margin verpassen, und kein Validator würde das "beanstanden".

                    Wie auch? Sollte ein Validator bei '#foo { margin: 0 }' alle(!) geltenden Stylesheets durchgehen, ob irgendwo '#foo { display: table-cell }' gesetzt wurde? Not its job. Kann er auch gar nicht; er soll ja *dieses eine* Stylesheet validieren, ohne Kenntnis von etwaigen anderen.

                    Die Browser "ignorieren" (korrekterweise) diese Angaben. Ich finde aber in der Spec keine Angaben, die explizit etwas über das Verhalten der UAs aussagen würden.

                    Die Angabe „Applies to“ darf durchaus so gelesen werden, dass die entsprechende Eigenschaft auf dort nicht angegebene Elemente nicht wirkt.

                    Ein UA, der das anders handhabt, wäre nicht CSS-konform.

                    Qapla'

                    --
                    „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
                    1. @@Gunnar:

                      nuqneH

                      die Eigenschaft margin nicht anwendbar ist.

                      Ah. Das ist aber was anderes als „automatisch auf Null gesetzt werden“.

                      In der Spec steht:"Internal table elements do not have margins."

                      Was was anderes ist als 'margin: 0' (dann hätten sie ja margin, zwar null, aber der wäre dann änderbar).

                      Du hast mich, glaube ich, nicht richtig verstanden ... ;-)

                      Man kann bspw. 'margin:10px|em|%' setzen.
                      Und wenn du dann mit irgendeinem Entwickler-Tool nachguckst, zeigen dir alle als "berechneten" Wert '0' an.

                      Die Browser "ignorieren" (korrekterweise) diese Angaben. Ich finde aber in der Spec keine Angaben, die explizit etwas über das Verhalten der UAs aussagen würden.

                      Die Angabe „Applies to“ darf durchaus so gelesen werden, dass die entsprechende Eigenschaft auf dort nicht angegebene Elemente nicht wirkt.

                      Ein UA, der das anders handhabt, wäre nicht CSS-konform.

                      Nach meinem Verständnis ist die Spec nicht korrekt formuliert.
                      Denn anstatt von:"Internal table elements do not have margins.",
                      müsste es eigentlich heißen:"The computed value of any given margins of internal table elements (including elements with a display value of table-row ot table-cell) is zero."

                      Gruß Gunther

                      1. @@Gunther:

                        nuqneH

                        Nach meinem Verständnis ist die Spec nicht korrekt formuliert.
                        Denn anstatt von:"Internal table elements do not have margins.",
                        müsste es eigentlich heißen:"The computed value of any given margins of internal table elements (including elements with a display value of table-row ot table-cell) is zero."

                        Es steht dir frei, einen Bug zu erstelen.

                        Qapla'

                        --
                        „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
                        1. @@Gunnar:

                          nuqneH

                          Es steht dir frei, einen Bug zu erstelen.

                          Ja, schon klar.
                          Aber ich bin ja gar nicht sicher, ob es denn überhaupt einer ist!?
                          Deshalb hatte ich ja geschrieben:

                          Nach meinem Verständnis ist die Spec nicht korrekt formuliert.

                          Ich gehe nicht zwingend davon aus, dass "mein Verständnis" richtig ist.
                          Auch nach etlichen Jahren, gibt es bestimmt genügend Stellen in den Specs, die ich_nicht_, oder nicht richtig verstehe ...!

                          Was sagt denn der Fachmann? ;-)

                          Denn anstatt von:"Internal table elements do not have margins.",
                          müsste es eigentlich heißen:"The computed value of any given margins of internal table elements (including elements with a display value of table-row ot table-cell) is zero."

                          Gruß Gunther

                          1. @@Gunther:

                            nuqneH

                            Aber ich bin ja gar nicht sicher, ob es denn überhaupt einer ist!?

                            Überlass die Bewertung doch anderen. Schreib ein Ticket, und wenn die CSS-Spec-Editoren nach Prüfung der Meinung sind, dass es keiner ist, schließen sie das Ticket.

                            Oder du bewirkst tatsächlich eine Umformulierung.

                            Qapla'

                            --
                            „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
                            1. @@all:

                              nuqneH

                              Aber ich bin ja gar nicht sicher, ob es denn überhaupt einer ist!?

                              Überlass die Bewertung doch anderen. Schreib ein Ticket, und wenn die CSS-Spec-Editoren nach Prüfung der Meinung sind, dass es keiner ist, schließen sie das Ticket.

                              Das ist natürlich auch eine Variante - stimmt.

                              Wie "unausgereift" diese ganze Sache mit den 'Tables' ist, habe ich gerade wieder festgestellt.

                              Beispiel:
                              Ich habe (ein recht komplexes) Layout mit 2 Container-Elementen, die per 'display: table-cell' nebeneinander platziert sind und dadurch auch dieselbe Höhe haben (equal height).

                              Jetzt gibt es aber per CSS_keine_Möglichkeit, die (ersten) Kind-Elemente in diesen Containern ebenfalls auf dieselbe Höhe zu bringen.

                              Die Angabe von 'height: 100%' ist wirkungslos, da der Browser zwar die Höhe der Boxen ermitteln muss, diese aber quasi im CSS nicht als Basis für eine entsprechende Prozentangabe zur Verfügung stehen.

                              Noch "besser" finde ich, dass auch die Variante, die Kind-Elemente per 'position: absolute' und 'bottom: 0' nicht funktioniert!!!

                              Das liegt daran, dass laut Spec die Auswirkung von 'position: relative' "nicht definiert" ist für alle Arten von Tabellen-Elementen:
                              "The effect of 'position:relative' on table-row-group, table-header-group, table-footer-group, table-row, table-column-group, table-column, table-cell, and table-caption elements is undefined."

                              Ich sehe aber bspw. "keinen Hinderungsgrund", warum man einer Tabellenzelle kein 'position: relative' verpassen können sollte, um dann Kind-Elemente innerhalb absolut positionieren zu können!

                              Gruß Gunther

                      2. Hi,

                        Nach meinem Verständnis ist die Spec nicht korrekt formuliert.
                        Denn anstatt von:"Internal table elements do not have margins.",
                        müsste es eigentlich heißen:"The computed value of any given margins of internal table elements (including elements with a display value of table-row ot table-cell) is zero."

                        Wirklich?

                        Kein Margin und ein Margin der Breite 0 könnte einen Unterschied machen, z.B. bzgl. Collapsing Margins - wo kein Margin ist, kann nichts kollabieren, wo ein Margin der Breite 0 ist, kann dieser mit anderen Margins kollabieren.

                        cu,
                        Andreas

                        --
                        Warum nennt sich Andreas hier MudGuard?
                        O o ostern ...
                        Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
                        1. Hi,

                          Nach meinem Verständnis ist die Spec nicht korrekt formuliert.
                          Denn anstatt von:"Internal table elements do not have margins.",
                          müsste es eigentlich heißen:"The computed value of any given margins of internal table elements (including elements with a display value of table-row ot table-cell) is zero."

                          Wirklich?

                          Das ist ja gerade die Frage ... ;-)

                          Kein Margin und ein Margin der Breite 0 könnte einen Unterschied machen, z.B. bzgl. Collapsing Margins - wo kein Margin ist, kann nichts kollabieren, wo ein Margin der Breite 0 ist, kann dieser mit anderen Margins kollabieren.

                          Ich verstehe durchaus was du meinst, aber "gilt" das überhaupt für Tables?

                          Der Punkt auf den ich hinaus will ist, dass im Prinzip jedes Element margins, paddings und borders als Eigenschaft hat. Nur halt mit der Einschränkung, dass diese automatisch bestimmte Werte haben.

                          Im Prinzip läuft es auf die Frage hinaus, ob eine Browser-Engine die Margin-Eigenschaft "auslässt" oder diese automatisch auf den Wert Null setzt.

                          Wenn man Validatoren und Entwickler-Tools geht, ist eher Letzteres der Fall. Und dann wäre meine Formulierung wohl zumindest zutreffender, als die derzeitige in der Spec.

                          Klar ist das "Ergebnis" dasselbe, und das Ganze auch eher eine theoretische Frage. Dennoch für das allgemeine Verständnis ggf. von Interesse.

                          Gruß Gunther

                          1. Om nah hoo pez nyeetz, Gunther!

                            Der Punkt auf den ich hinaus will ist, dass im Prinzip jedes Element margins, paddings und borders als Eigenschaft hat. Nur halt mit der Einschränkung, dass diese automatisch bestimmte Werte haben.

                            Und bei margin und padding kommt noch hinzu, dass unabhängig von den Werten der Eigenschaften (immer!) ein visuelles Ergebnis existiert. (Bei border ist das nicht der Fall. Etwa border-color: red; border-width: 0;)

                            Matthias

                            --
                            Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Ork und Orkan.

                            1. Om nah hoo pez nyeetz, all!

                              Und bei margin und padding kommt noch hinzu, dass unabhängig von den Werten der Eigenschaften (immer!) ein visuelles Ergebnis existiert. (Bei border ist das nicht der Fall. Etwa border-color: red; border-width: 0;)

                              Hinzukommt, dass aufgrund dieser damaligen Festlegung in der Spec per CSS keine Entsprechung für 'cellspacing' vorhanden ist.

                              Stattdessen hat man es so eingerichtet, dass das per CSS lediglich über 'border-spacing' zu erreichen ist, was den gravierenden Nachteil hat, dass man bspw. die erste und letzte Zelle nicht mit anderen/ abweichenden Werten versehen kann, genauso wenig wie linke + rechte Seite.
                              Lediglich eine Differenzierung zwischen horizontal und vertikal ist möglich.

                              Das ist für mich eine vergleichbare "Fehlentscheidung" wie mit dem Box Model.

                              Warum sollten Tabellenzellen keine Margins wie jedes andere Element auch haben können?

                              Natürlich würden in diesem Fall auch einige neue Fragen auftauchen, wie in bestimmten Fällen dann vorzugehen wäre bei der tatsächlichen Ermittlung des Layouts. Aber ich denke, dass man diese durchaus zufriedenstellend lösen könnte.

                              Gruß Gunther

                          2. Hi,

                            Ich verstehe durchaus was du meinst, aber "gilt" das überhaupt für Tables?

                            Jedes Element kann zu einem "internal table element" werden - durch Setzen des passenden display:table-xxx (mit xxx sowas wie cell, row usw.)

                            So ein Element kann direkt auf ein Element folgen, das einen margin hat (z.B. ein Element mit display:block).

                            Somit kann das durchaus vorkommen.

                            cu,
                            Andreas

                            --
                            Warum nennt sich Andreas hier MudGuard?
                            O o ostern ...
                            Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
                            1. Hi,

                              Ich verstehe durchaus was du meinst, aber "gilt" das überhaupt für Tables?

                              Jedes Element kann zu einem "internal table element" werden - durch Setzen des passenden display:table-xxx (mit xxx sowas wie cell, row usw.)

                              So ein Element kann direkt auf ein Element folgen, das einen margin hat (z.B. ein Element mit display:block).

                              hmmm ..., interessanter Aspekt.

                              Aber folgt dieses andere Element nicht_immer_auf das Table-Element (und eben nicht auf ein "internal table element")?

                              Denn wenn es ein solches nicht explizit gibt, erzeugt der Browser doch dennoch ein "anonymous table object".

                              Somit kann das durchaus vorkommen.

                              Oder auch nicht. ;-)

                              Gruß Gunther

                    2. Hi,

                      Wie auch? Sollte ein Validator bei '#foo { margin: 0 }' alle(!) geltenden Stylesheets durchgehen, ob irgendwo '#foo { display: table-cell }' gesetzt wurde? Not its job. Kann er auch gar nicht; er soll ja *dieses eine* Stylesheet validieren, ohne Kenntnis von etwaigen anderen.

                      Und die Abwesenheit von display: table-cell für den Selector #foo sagt ja auch gar nichts aus.
                      <td id="foo">  - und schon ist display: table-cell gesetzt, ohne daß der Selector #foo ins Spiel kommt.

                      cu,
                      Andreas

                      --
                      Warum nennt sich Andreas hier MudGuard?
                      O o ostern ...
                      Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
            2. @@Gunnar:

              nuqneH

              Denn es ist bspw. äußerst "mühsam" in der Spec. "einfach herauszulesen", dass Margins bei einem Element mit dem Wert 'table-cell' für 'display' vom Browser automatisch auf Null gesetzt werden.

              An welcher Stelle sollte das denn drinstehen?

              http://www.w3.org/TR/CSS2/box.html#propdef-margin

              ?? Suche nach "table-cell" auf der Seite ergibt keinen Treffer.

              Das steht hier: http://www.w3.org/TR/CSS2/tables.html#table-layout

              Worauf genau willst du hinaus?

              Eigentlich nur darauf, dass gerade "CSS Newbies" diese "Einschränkungen, Wechselwirkungen und Beziehungen" nicht unbedingt klar sind und sich bei weitem auch nicht zwingend intuitiv erschließen.

              Und eine "Reise durch die verschiedenen Spezifikationen" ist eben relativ umständlich und mühsam.

              Von daher fände ich, dass eine entsprechende "Übersicht" mit einer (kurzen) Erklärung, zum einen eine "Arbeitserleichterung", und zum anderen eine "Hilfe zum Verstehen" wäre.

              Gruß Gunther