Der fette Mo: Probleme bei application/xhtml+xml in Firefox

Guten Tag allerseits,

Ich habe ein kleines Problemchen mit Firefox:

Zu Testzwecken habe ich meine Seite einmal als text/html und einmal als application/xhtml+xml ausliefern lassen. Bei der zweiten Version stellt FF die Seite etwas eigenartig da, da er die Hintergrundfarbe des body-Elements nicht über die ganze Seite verteilt... Opera macht dagegen alles richtig!

Hier die zwei Versionen zum Anschauen:
text/html
application/xhtml+xml
...und die CSS-Datei

Wie kann ich diesen Bug beheben?
(Wenn es einer ist, sonst: Was mache ich falsch?)

Gruß,
Der fette Mo

--
Menschen haben keine Probleme, sie schaffen sie sich selbst.
Der fette Mo is Powered by Jacobs Coffee, System of a down Music and Edelstoff Beer
  1. Hi,

    Zu Testzwecken habe ich meine Seite einmal als text/html und einmal als application/xhtml+xml ausliefern lassen. Bei der zweiten Version stellt FF die Seite etwas eigenartig da, da er die Hintergrundfarbe des body-Elements nicht über die ganze Seite verteilt... Opera macht dagegen alles richtig!
    Hier die zwei Versionen zum Anschauen:
    text/html
    application/xhtml+xml
    ...und die CSS-Datei

    Wie kann ich diesen Bug beheben?
    (Wenn es einer ist, sonst: Was mache ich falsch?)

    Du machst was falsch.

    Die 8px links und rechts ohne Hintergrundfarbe ergeben sich aus dem Default-Stylesheet, für body sind dort 8px als margin eingestellt.
    Die 40px oben ergeben sich aus den collapsing margins (der margin des body und der margin des div class="container" fallen zusammen).

    Und der body ist natürlich nur so hoch wie sein Inhalt.

    Schau Dir das mal mit dem DOM-Inspector an, dann siehst Du am blinkenden Rahmen, welches Element wo ist ...

    Du solltest mal probieren, die Hintergrundfarbe dem HTML-Element zuzuweisen.

    cu,
    Andreas

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

      Und der body ist natürlich nur so hoch wie sein Inhalt.

      Das mag stimmen, aber dennoch breiten Browser beim body-Element Hintergrundfarben- und grafiken auf den gesamten Viewport aus, so wie es in der text/html-Variante zu sehen ist. Firefox scheint dies in der appliation/xhtml+xml-Variante zu verwerfen.

      Einen schönen Freitag noch.

      Gruß, Ashura

      --
      sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
      mathbr:del.icio.us/ mathbr:w00t/
      1. Hi,

        Und der body ist natürlich nur so hoch wie sein Inhalt.

        Das mag stimmen, aber dennoch breiten Browser beim body-Element Hintergrundfarben- und grafiken auf den gesamten Viewport aus, so wie es in der text/html-Variante zu sehen ist. Firefox scheint dies in der appliation/xhtml+xml-Variante zu verwerfen.

        http://www.w3.org/TR/CSS21/colors.html#q2 sagt:

        The background of the root element becomes the background of the canvas and covers the entire canvas, anchored at the same point as it would be if it was painted only for the root element itself. The root element does not paint this background again.

        Root element ist das html-Element. Darüber dürfte ja wohl Einigkeit bestehen.
        Der Hintergrund des root-Elements (i.e. des html-Elements) wird auf den ganzen Canvas ausgedehnt.
        Da Mo hier nichts angegeben ist, wird die Fensterhintergrundfarbe durch den default-Wert für background-color (transparent) "überdeckt".
        Sprich: Das html-Element hat also die Fensterhintergrundfarbe als Hintergrund.

        Weiter im zitierten Text.

        For HTML documents, however, we recommend that authors specify the background for the BODY element rather than the HTML element. For HTML documents whose root HTML element has computed values of 'transparent' for 'background-color' and 'none' for 'background-image', user agents must instead use the computed value of those properties from that HTML element's first BODY element child when painting backgrounds for the canvas, and must not paint a background for that BODY element.

        Bei HTML-Dokumenten soll also der body-Hintergrund anstelle des html-Hintergrundes benutzt werden.
        Aber jetzt kommt der entscheidende Satz:

        This does not apply to XHTML documents.

        Das Dokument ist laut
        <?xml version="1.0" encoding="iso-8859-1"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
            "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml">
        und auch aufgrund des content-types application/xhtml+xml ein XHTML-Dokument.
        Der zweite von mir zitierte Absatz gilt also _nicht_.

        cu,
        Andreas

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

          This does not apply to XHTML documents.

          […]

          Der zweite von mir zitierte Absatz gilt also _nicht_.

          Das bezweifle ich auch nicht. Mir ist diese Eigenheit der Geckos schon vor einer längeren Zeit aufgefallen. Dass diese aber auch wirklich begründet ist, wusste ich noch nicht.

          Einen schönen Samstag noch.

          Gruß, Ashura

          --
          sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
          mathbr:del.icio.us/ mathbr:w00t/
    2. Guten Tag allerseits,

      Die 8px links und rechts ohne Hintergrundfarbe ergeben sich aus dem Default-Stylesheet, für body sind dort 8px als margin eingestellt.

      Welches Stylesheet meinst du?

      Die 40px oben ergeben sich aus den collapsing margins (der margin des body und der margin des div class="container" fallen zusammen).

      Eben dieses Verhalten halte ich ja für einen Bug, da Opera alles so macht, wie ich es möchte!

      Danke für deine Hilfe!

      Gruß,
      Der fette Mo

      --
      Menschen haben keine Probleme, sie schaffen sie sich selbst.
      Der fette Mo is Powered by Jacobs Coffee, System of a down Music and Edelstoff Beer
      1. Hi,

        Die 8px links und rechts ohne Hintergrundfarbe ergeben sich aus dem Default-Stylesheet, für body sind dort 8px als margin eingestellt.
        Welches Stylesheet meinst du?

        Das default-Stylesheet des Browsers:
        resource://gre/res/html.css

        Die 40px oben ergeben sich aus den collapsing margins (der margin des body und der margin des div class="container" fallen zusammen).
        Eben dieses Verhalten halte ich ja für einen Bug,

        Nö, collapsing margins sind so definiert.

        da Opera alles so macht, wie ich es möchte!

        Das sagt doch gar nichts.

        cu,
        Andreas

        --
        Warum nennt sich Andreas hier MudGuard?
        Schreinerei Waechter
        O o ostern ...
        Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
        1. Guten Tag allerseits,

          Das default-Stylesheet des Browsers:
          resource://gre/res/html.css

          Achso! *An die Stirn patsch*

          Hätte nicht gedacht, dass da per Default 8px Rand für das body-Element eingestellt sind...

          Eben dieses Verhalten halte ich ja für einen Bug,

          Nö, collapsing margins sind so definiert.

          Sry ich wollte eigentlich die Stelle zitieren, in der du schreibst, dass das body-Element nur so groß wird wie der Inhalt - ist bei klassischem HTML ja auch nicht so, oder?

          da Opera alles so macht, wie ich es möchte!

          Das sagt doch gar nichts.

          Stimmt!

          Gruß,
          Der fette Mo

          --
          Menschen haben keine Probleme, sie schaffen sie sich selbst.
          Der fette Mo is Powered by Jacobs Coffee, System of a down Music and Edelstoff Beer
          1. Hi,

            Sry ich wollte eigentlich die Stelle zitieren, in der du schreibst, dass das body-Element nur so groß wird wie der Inhalt - ist bei klassischem HTML ja auch nicht so, oder?

            Warum sollte es nicht so sein?

            Jedes block-Element ist (soweit nicht explizit durch height, min-height oder ähnliches geändert) per default so hoch wie sein (nicht aus dem Fluß genommener) Inhalt.

            cu,
            Andreas

            --
            Warum nennt sich Andreas hier MudGuard?
            Schreinerei Waechter
            O o ostern ...
            Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
            1. Guten Tag allerseits,

              Warum sollte es nicht so sein?

              Tut mir leid wenn ich etwas blöde Rückfragen stelle, hab schätzungsweise 20 Jahre weniger Erfahrung als du. *g*

              Jedes block-Element ist (soweit nicht explizit durch height, min-height oder ähnliches geändert) per default so hoch wie sein (nicht aus dem Fluß genommener) Inhalt.

              Dank deinem Zitat aus dem W3C-Dokument hab ichs jetzt kapiert: Dass die Hintergrundfarbe des Body-Elements das gesamte Browserfenster füllen soll, gilt also nur für HTML-Dokumente und bedeutet - wenn ich das richtig verstanden habe - eigentlich nur Kulanz vonseiten der Browser, da eigentlich nur das root-Element das gesamte Browserfenster füllt!

              Danke, das hat mir echt weitergeholfen!
              Und ebenfalls danke für deine Geduld! (haben nicht alle hier im (Experten-)Forum)

              Gruß,
              Der fette Mo

              --
              Menschen haben keine Probleme, sie schaffen sie sich selbst.
              Der fette Mo is Powered by Jacobs Coffee, System of a down Music and Edelstoff Beer
  2. Hallo Martin.

    Zu Testzwecken habe ich meine Seite einmal als text/html und einmal als application/xhtml+xml ausliefern lassen. Bei der zweiten Version stellt FF die Seite etwas eigenartig da, da er die Hintergrundfarbe des body-Elements nicht über die ganze Seite verteilt...

    Ob dies ein Bug ist, weiß ich leider nicht genau, aber jedenfalls kannst du dies umgehen, indem du die Hintergrundangaben nicht für das body- sondern für das html-Element tätigst.

    Einen schönen Freitag noch.

    Gruß, Ashura

    --
    sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
    mathbr:del.icio.us/ mathbr:w00t/
    1. Guten Tag allerseits,

      Hallo Martin.

      :( Ich werde ignoriert *g*

      Ob dies ein Bug ist, weiß ich leider nicht genau

      Ich frag mal sicherheitshalber bei Mozilla Europe nach, aber wahrscheinlich ist das so gewollt, auch wenn das Verhalten etwas komisch ist...

      Gruß,
      Der fette Mo

      --
      Menschen haben keine Probleme, sie schaffen sie sich selbst.
      Der fette Mo is Powered by Jacobs Coffee, System of a down Music and Edelstoff Beer
      1. Hallo fetter Mo.

        Guten Tag allerseits,

        Hallo Martin.

        :( Ich werde ignoriert *g*

        Nein, nur vom Automatismus mitgerissen. Asche auf mein Haupt.

        Ich frag mal sicherheitshalber bei Mozilla Europe nach, aber wahrscheinlich ist das so gewollt, auch wenn das Verhalten etwas komisch ist...

        Dürfte sich ja nun geklärt haben.

        Einen schönen Samstag noch.

        Gruß, Ashura

        --
        sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
        mathbr:del.icio.us/ mathbr:w00t/
        1. Hello out there!

          Hallo Martin.

          :( Ich werde ignoriert *g*

          Nein, nur vom Automatismus mitgerissen. Asche auf mein Haupt.

          :-) Nicht jeder Der heißt Martin. *g*

          See ya up the road,
          Gunnar

          --
          “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)