Adriano: Fehler bei FF

Auf dieser Seite (Thema text-align)(http://de.selfhtml.org/css/eigenschaften/ausrichtung.htm#text_align)
steht:
"Der Internet Explorer wendet diese Eigenschaft jedoch fälschlich auch auf Block-Elemente an"

Ist aber logischerweise Falsch!
IE ist der einziger Browser der es Korrekt darstellt!

Ich habe eine Tabelle mit 2 Zellen und folgende css: "text-align:center".

In der 2. Zelle hab ich eine weitere Tabelle mit 1 Zelle. Diese Tabelle sollte in der Mitte gezeichnet werden, wird aber von FF und Opera links gezeichnet!!!!

Ah, aber auf SelfHTML aber da steht auch:
"Block-Elemente selbst werden über margin ausgerichtet".

Hahahaha Ja genau!

Bei der CSS Definition steht aber folgendes:
"If there is only one value, it applies to all sides, if there are two or three, the missing values are taken from the opposite side."

Also, wenn ein Margin nicht deklariert wird, sollten beide Seiten gleich sein. Also ist IE der einziger Browser der korrekt darstellt!

Oder doch nicht? Verstehe ich was Falsch?

  1. Auf dieser Seite (Thema text-align)(http://de.selfhtml.org/css/eigenschaften/ausrichtung.htm#text_align)
    steht:
    "Der Internet Explorer wendet diese Eigenschaft jedoch fälschlich auch auf Block-Elemente an"

    Ist aber logischerweise Falsch!
    IE ist der einziger Browser der es Korrekt darstellt!

    Nur nebenbei: Nicht, dass Firefox und seine Geschwister fehlerfrei wären, aber es hat sich in den vergangenen Jahren gezeigt, dass es im Zweifel grundsätzlich klüger ist, davon auszugehen, dass der IE es falsch macht. Das gilt doppelt, wenn sowohl Opera als auch die Gecko-Familie es anders machen als der IE.

    Mit dem IE 7 hat sich einiges zum besseren gewendet, es gilt auch zu beachten, dass der Browser im richtigen Modus arbeitet, aber derzeit steht der IE immer noch hinten an. Lediglich der noch nicht erschienene IE 8 soll eine geradezu sensationelle CSS-Unterstützung bieten.

    Ich habe eine Tabelle mit 2 Zellen und folgende css: "text-align:center".

    In der 2. Zelle hab ich eine weitere Tabelle mit 1 Zelle. Diese Tabelle sollte in der Mitte gezeichnet werden, wird aber von FF und Opera links gezeichnet!!!!

    Das ist auch richtig so, es heißt in der Definition von text-align klipp und klar: "This property describes how inline content of a block is aligned.". "Inline content" ist der wichtige Punkt. Tabellen sind Block-Elemente, keine Zeilenelemente, also kann text-align keine Auswirkungen auf Tabellen haben.

    Ah, aber auf SelfHTML aber da steht auch:
    "Block-Elemente selbst werden über margin ausgerichtet".

    Bei der CSS-Definition steht aber folgendes:
    "If there is only one value, it applies to all sides, if there are two or three, the missing values are taken from the opposite side."

    Also, wenn ein Margin nicht deklariert wird, sollten beide Seiten gleich sein.

    Ja, aber du hast eine Kleinigkeit übersehen: Ist kein Außenrand gegeben, gilt die Vorgabe 0.

    Die ganze Prozedur ist in Abschnitt 10.3 beschrieben.

    Also ist IE der einziger Browser der korrekt darstellt!

    Du kannst dir aussuchen, ob der IE die Beschränkung von text-align auf Zeilenelemente ignoriert oder die Vorgabe für margin von 0, aber eines macht er mindestens falsch.

    1. Wow... Danke!
      Sehr gut geschrieben und hast mir auch recht geholfen!

      Ich hab eben bei 'margin' die folgende Zeile gelesen:
      Initial: not defined for shorthand properties

      Also wenn ich dieser Kapitel lese (für margin):
      http://www.w3.org/TR/REC-CSS1#horizontal-formatting

      steht folgendes:

      • The horizontal position and size of a non-floating, block-level element is determined by seven properties
      • By default, the 'width' of an element is 'auto'
      • If none of the properties are 'auto', the value of 'margin-right' will be assigned 'auto'.

      Und zusätzlich gilt: "if both 'margin-left' and 'margin-right' are 'auto', they will be set to equal values. This will center the element inside its parent"

      Also mit der letzte Aussage gilt doch, dass es ohne Angabe, margin ein Wert von auto hat oder?

      1. Hi,

        Ich hab eben bei 'margin' die folgende Zeile gelesen:
        Initial: not defined for shorthand properties

        damit gelten die Default-Werte von margin-left et.al., welche 0 betragen. Verzeih bitte meine Verallgemeinerung in meiner vorhergegangenen Antwort.

        • If none of the properties are 'auto', the value of 'margin-right' will be assigned 'auto'.

        Da steht übrigens nichts davon, dass margin-left verändert würde.

        Und zusätzlich gilt: "if both 'margin-left' and 'margin-right' are 'auto', they will be set to equal values. This will center the element inside its parent"

        Ja. Dieser Fall ist nicht gegeben; margin-left steht auf 0.

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

          Ich hab eben bei 'margin' die folgende Zeile gelesen:
          Initial: not defined for shorthand properties

          damit gelten die Default-Werte von margin-left et.al., welche 0 betragen. Verzeih bitte meine Verallgemeinerung in meiner vorhergegangenen Antwort.

          • If none of the properties are 'auto', the value of 'margin-right' will be assigned 'auto'.

          Es widerspricht sich einfach mit folgende Aussage:
          "If four length values are specified they apply to top, right, bottom and left respectively. If there is only one value, it applies to all sides, if there are two or three, the missing values are taken from the opposite side"
          (http://www.w3.org/TR/REC-CSS1#margin)

          Wenn default-margin 0 ist, sollten alle 0 sein. Ist aber nicht der Fall.

          Da es nicht möglich ist, dass es 0 ist, da width die ganze Breite benutzen soll, sollte margin-left den gleichen Wert bekommen wie margin-right.

          Da steht übrigens nichts davon, dass margin-left verändert würde.

          Und zusätzlich gilt: "if both 'margin-left' and 'margin-right' are 'auto', they will be set to equal values. This will center the element inside its parent"

          Ja. Dieser Fall ist nicht gegeben; margin-left steht auf 0.

          Cheatah

          Vielleicht kann ich zu wenig Englisch...
          (http://www.w3.org/TR/REC-CSS1#text-align)
          Example:
          DIV.center { text-align: center }
          Since 'text-align' inherits, all block-level elements inside the 'DIV' element with 'CLASS=center' will be centered. Note that alignments are relative to the width of the element, not the canvas. If 'justify' is not supported, the UA will supply a replacement. Typically, this will be 'left' for western languages.

          Für mich sind "all block-level elements" auch Tabellen.

            • If none of the properties are 'auto', the value of 'margin-right' will be assigned 'auto'.

            Es widerspricht sich einfach mit folgende Aussage:
            "If four length values are specified they apply to top, right, bottom and left respectively. If there is only one value, it applies to all sides, if there are two or three, the missing values are taken from the opposite side"

            Nein, wieso? margin hat doch überhaupt keine Angabe, dein zweites Zitat bezieht sich nur auf margin mit einer bis vier Angaben.

            Zudem wird das zweite Zitat beim Auslesen deiner CSS-Regeln angewandt, das erste jedoch erst später beim Auswerten bzw. Positionieren der Elemente. Zu letzterem Zeitpunkt ist margin schon längst durch margin-left etc. ersetzt und existiert quasi nicht mehr.

            DIV.center { text-align: center }
            Since 'text-align' inherits, all block-level elements inside the 'DIV' element with 'CLASS=center' will be centered.

            Für mich sind "all block-level elements" auch Tabellen.

            Das ist in der Tat missverständlich geschrieben. Mit "all block-level elements […] will be centered" dürfte gemeint sein, dass alle Blockelemente zentrierend wirken, nicht, dass sie selbst zentriert werden.
            Womöglich hast du soeben den Grund für den von dir angesprochenen Fehler im IE entdeckt :-)

              • If none of the properties are 'auto', the value of 'margin-right' will be assigned 'auto'.

              Es widerspricht sich einfach mit folgende Aussage:
              "If four length values are specified they apply to top, right, bottom and left respectively. If there is only one value, it applies to all sides, if there are two or three, the missing values are taken from the opposite side"

              Nein, wieso? margin hat doch überhaupt keine Angabe, dein zweites Zitat bezieht sich nur auf margin mit einer bis vier Angaben.

              Zudem wird das zweite Zitat beim Auslesen deiner CSS-Regeln angewandt, das erste jedoch erst später beim Auswerten bzw. Positionieren der Elemente. Zu letzterem Zeitpunkt ist margin schon längst durch margin-left etc. ersetzt und existiert quasi nicht mehr.

              DIV.center { text-align: center }
              Since 'text-align' inherits, all block-level elements inside the 'DIV' element with 'CLASS=center' will be centered.

              Für mich sind "all block-level elements" auch Tabellen.

              Das ist in der Tat missverständlich geschrieben. Mit "all block-level elements […] will be centered" dürfte gemeint sein, dass alle Blockelemente zentrierend wirken, nicht, dass sie selbst zentriert werden.
              Womöglich hast du soeben den Grund für den von dir angesprochenen Fehler im IE entdeckt :-)

              Danke Gunter!
              Ich nehme es mal so an, und merke es mir... Ich muss mir immer anhören wie IE sooo schlecht ist, dabei hat FF vor 2 Jahre noch Tabellen-Inhalte über die Tabelle-Ränder hinausgeshrieben.
              Ich weiss, IE ist nicht perfekt, aber FF ist sicher auch nicht 100% CSS Kompatibel ;)

              Aber deine Antworten waren wirklich nett geschrieben!

              1. Hi,

                Ich weiss, IE ist nicht perfekt, aber FF ist sicher auch nicht 100% CSS Kompatibel ;)

                das stimmt, Firefox hat ebenfalls Fehler. Der Unterschied zwischen ihm und dem IE ist, dass man sie bei Firefox mit der Lupe und üblicherweise hochgradig intimer Kenntnisse der Standards suchen muss, während der IE mit seinen Fehlern geradezu um sich wirft und dabei noch mit einem Megaphon etwas wie "Frische Fische! Erst vor elf Jahren aus dem Erzgebirge gekürschnert! Nur jetzt mit grünen Punkten und extragroßen Quarzuhren!" brüllt.

                Die häufigsten Bugs des IE findest Du bei Position Is Everything. Über Firefox hat die selbe Site nur zwei Bugs zu berichten, welche bereits vor Jahren behoben wurden.

                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. Ich weiss, IE ist nicht perfekt, aber FF ist sicher auch nicht 100% CSS-Kompatibel ;)

                Nein, sicher nicht, aber er hat weniger Fehler. Gerade der IE 6 ist in der Hinsicht grausam und macht das Arbeiten mit CSS zur Qual, weil auf elementarste Dinge kein Verlass ist - obwohl doch gerade der Sinn eines Standards ist, keine Extrawürste braten zu müssen.

                Die Umsetzung des IE 7 ist, wie geschrieben, in der Praxis IMHO gut zu gebrauchen und so nutze ich seit Anfang des Jahres für seine Vorgänger nur noch einen Satz rudimentärester CSS-Angaben. IE < 7 werden damit wie auch uralte Netscape-Versionen und andere Saurier von der CSS-Gestaltung quasi ausgeschlossen und bekommen nahezu pures HTML zu sehen, zusammen mit einem freundlichen Hinweis, dass es bessere Browser bzw. -versionen gibt.
                Wenn man ordentliches HTML benutzt, lies: keine <div>-Wüsten fabriziert, ist diese Radikalkur scheinbar für die meisten Besucher akzeptabel. Ich habe bislang keinen Besucherschwund feststellen können, von Beschwerden ganz zu schweigen (etwa 30.000 Besuche monatlich, IE-Anteil etwas über 70%).

                Als Referenz für die CSS-Kompatibilität wird gerne der Acid2-Test genommen. Opera sowie Safari und Konqueror bestehen ihn, der IE und Firefox noch nicht, was sich mit IE 8 und Firefox 3 aber ändern soll.

                Aber deine Antworten waren wirklich nett geschrieben!

                Danke, das schmeichelt mir. Wo ich doch normalerweise zur gleichen frotzeligen Fraktion gehöre wie andere Affen … :->

                1. Als Referenz für die CSS-Kompatibilität wird gerne der Acid2-Test genommen. Opera sowie Safari und Konqueror bestehen ihn, der IE und Firefox noch nicht, was sich mit IE 8 und Firefox 3 aber ändern soll.

                  Für mich bleibt Opera der bester Browser...
                  IE ist ja die Mutter aller Browsers, Netscape ist der gestorbener Grossvater.
                  FF1.0 hat ja alles von IE kopiert, und dann noch schlecht.
                  FF2.0 hat alles von Opera kopiert, nochmals schlecht.

                  Obwohl alle FF-User denken, FF hat die Dinge entdeckt, muss ich diese Leute enttäuschen und sagen, dass Opera sie schon längst hatte!

                  Ich habe auch eine Seite mit etwa 500-2000 Besuche pro Tag ;)

                  Acid2 Test kenne ich. Acid3 Test zeigt, dass Opera sich nur für die Acid2-Test gearbeitet hat :P Hehe

                  Acid3-Test

                  1. @@Adriano:

                    IE ist ja die Mutter aller Browsers, Netscape ist der gestorbener Grossvater.

                    Du solltest deine Geschichtskenntnisse auffrischen. Die Mutter aller (grafischen!) Browser ist NCSA Mosaic. Netscape Navigator ist daraus hervorgegangen.

                    FF1.0 hat ja alles von IE kopiert, und dann noch schlecht.

                    Hä?? BTW, Mozilla Firefox ist Nachfolger des Netscape Communicator.

                    Live long and prosper,
                    Gunnar

                    --
                    „Das Internet ist ein großer Misthaufen, in dem man allerdings auch kleine Schätze und Perlen finden kann.“ (Joseph Weizenbaum)
          1. Hi,

            Vielleicht kann ich zu wenig Englisch...

            vielleicht suchst Du im falschen Standard.

            (http://www.w3.org/TR/REC-CSS1#text-align)

            Das ist CSS/1.0. Formal betrachtet ist CSS/2.0 der geltende Standard; als Stand der Dinge und damit gültig betrachte bitte CSS/2.1, auch wenn es erst Candidate Recommendation ist.

            http://www.w3.org/TR/CSS2/text.html#propdef-text-align sagt:

            In this example, note that since 'text-align' is inherited, all block-level elements inside the DIV element with 'class=center' will have *their inline content* centered.

            Für mich sind "all block-level elements" auch Tabellen.

            Das ist richtig.

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

              Vielleicht kann ich zu wenig Englisch...

              vielleicht suchst Du im falschen Standard.

              (http://www.w3.org/TR/REC-CSS1#text-align)

              Das ist CSS/1.0. Formal betrachtet ist CSS/2.0 der geltende Standard; als Stand der Dinge und damit gültig betrachte bitte CSS/2.1, auch wenn es erst Candidate Recommendation ist.

              http://www.w3.org/TR/CSS2/text.html#propdef-text-align sagt:

              In this example, note that since 'text-align' is inherited, all block-level elements inside the DIV element with 'class=center' will have *their inline content* centered.

              Für mich sind "all block-level elements" auch Tabellen.

              Das ist richtig.

              Cheatah

              Also, einfach damit es klar ist:
              IE gab es vor dem CSS1 Standard, und es gehört zur Philosophie der Intel/MS, dass die abwärtskompatibilität beibehalten wird.

              Hat sich nach 20 Jahre bei Intel sehr gut durchgesetzt. Auch Apple musste damit klar kommen.

              Da siehst du wie die Zukunft von Java aussieht: "Deprecated". Aber das ist ein anderes Thema.

              Es ist aber wichtig, dass die Regeln nicht all 2 Jahre ändern. Es macht für die Programmierer kein Spass und für eine Firma ist es verlorenes Geld!

              1. Hi,

                Hi,

                bitte zitiere sinnvoll, also nur das, worauf Du Dich beziehst.

                Also, einfach damit es klar ist:
                IE gab es vor dem CSS1 Standard,

                Netscape gab es vor dem IE.

                und es gehört zur Philosophie der Intel/MS, dass die abwärtskompatibilität beibehalten wird.

                Das ist kein Grund, die Standards, die man selbst mitgestaltet hat(!), schlichtweg zu missachten und das Gegenteil zu bauen. Unabhängig davon lautet jedoch die wichtige Erkenntnis, dass der IE fast nichts kann und auch das meistens noch falsch macht, während alle anderen halbwegs aktuellen Browser um ca. ein Jahrzehnt in der Entwicklung weiter sind und nur selten Fehler machen.

                Hat sich nach 20 Jahre bei Intel sehr gut durchgesetzt. Auch Apple musste damit klar kommen.

                Intel und Apple produzieren Hardware, nach der sich in erster Linie nur Hardware-Hersteller richten müssen, welche sich dafür entschieden haben. Microsoft baut Software, die der Endverbraucher einsetzt und nach der sich *jeder* richten muss, ob er sich dafür entschieden hat oder nicht.

                Da siehst du wie die Zukunft von Java aussieht: "Deprecated". Aber das ist ein anderes Thema.

                Ja. Wir können gerne an anderer Stelle darüber philosophieren, wird sicher spannend :-)

                Es ist aber wichtig, dass die Regeln nicht all 2 Jahre ändern. Es macht für die Programmierer kein Spass und für eine Firma ist es verlorenes Geld!

                Interessanterweise wurde CSS/1.0 nach nicht einmal 2 Jahren (genauer gesagt anderthalb) durch CSS/2.0 ersetzt. Weitere dreieinhalb Jahre später hat es Microsoft mit dem IE 6 noch immer nicht geschafft, diesen Standard, an dem Microsoft selbst mitgewirkt hat, auch nur ansatzweise umzusetzen - oder wenigstens die Fehler in der Unterstützung von CSS/1.0 auszubessern. Nicht zuletzt wegen Microsoft wurde deswegen nicht mal ein Jahr später - erneut: unter Mitwirkung von Microsoft - CSS/2.1 aus der Taufe gehoben. Bis hierhin schreiben wir das Jahr 2002, also vor gut fünf Jahren. Meinst Du nicht, Microsoft müsste es inzwischen mal hinbekommen, sich an die eigenen Standards zu halten?

                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. @@Adriano:

            Vielleicht kann ich zu wenig Englisch...

            Die Spec von CSS 2.0 gibt’s auch in deutscher Übersetzung.

            Andere Specs auch: http://www.edition-w3c.de/, http://www.w3.org/2005/11/Translations/Lists/ListLang-de.html

            Live long and prosper,
            Gunnar

            --
            „Das Internet ist ein großer Misthaufen, in dem man allerdings auch kleine Schätze und Perlen finden kann.“ (Joseph Weizenbaum)
      2. Ich hab eben bei 'margin' die folgende Zeile gelesen:
        Initial: not defined for shorthand properties

        Ich denke, das steht nur deshalb dort, damit es keine Definitionskonflikte mit den eigentlichen Attributen gibt. margin ist ja ein Kürzel, gewissermaßen nur eine Hülse für die vier Eigenschaften margin-top, -right, -bottom und -left. Als solche hat es keine eigene Vorgabe, sondern bezieht sie indirekt aus den zu Grunde liegenden Eigenschaften.

        Die Vorgaben für alle vier margins ist 0, in der Weiterleitung kannst du davon ausgehen, dass die Vorgabe für margin 0 ist, obwohl sie nicht als solche definiert ist.

        Also wenn ich dieser Kapitel lese (für margin):
        http://www.w3.org/TR/REC-CSS1#horizontal-formatting

        steht folgendes:

        1. By default, the 'width' of an element is 'auto'
        2. If none of the properties are 'auto', the value of 'margin-right' will be assigned 'auto'.

        Da könnte deine Kette schon aufhören, denn in Punkt zwei steht doch bereits, dass width standardmäßig auto ist. Somit träffe Punkt 3, "if _none_ […] are 'auto'", nicht zu. Das funktioniert bei Blockelementen wie <p>, bei <table> ergäbe sich allerdings ein kleiner Erklärungsnotstand, nämlich jener des Abstands vom rechten Tabellenrand zum rechten Rand des Elternelements (zB <body>).

        Der Haken liegt woanders: Die Breite einer Tabelle, d.h. width, ergibt sich üblicherweise aus ihrem Inhalt (siehe 17.5.2). width hat also eine intern gegebene Breite, margin- und padding-left und -right sind standardmäßig 0, in der Folge wechselt margin-right gemäß Punkt 3 nach auto.

        Und zusätzlich gilt: "if both 'margin-left' and 'margin-right' are 'auto', they will be set to equal values. This will center the element inside its parent"

        Ja, aber nur weil margin-right auto (geworden) ist, ist margin-left nicht automatisch auch auto. margin-left bleibt bei seiner Vorgabe 0.

        Dieser Absatz für margin-left und -right trifft erst zu, wenn du selbst in deinen CSS-Regeln beide Eigenschaften auf auto setzt.

  2. Hi,

    "Der Internet Explorer wendet diese Eigenschaft jedoch fälschlich auch auf Block-Elemente an"
    Ist aber logischerweise Falsch!

    Deine Logik hat keinen Bezug zur Realität. Die text-align-Eigenschaft richtet *Text* aus, keine Block-Level-Elemente.

    IE ist der einziger Browser der es Korrekt darstellt!

    Der IE ist der einzige Browser, der dies falsch macht.

    In der 2. Zelle hab ich eine weitere Tabelle mit 1 Zelle. Diese Tabelle sollte in der Mitte gezeichnet werden, wird aber von FF und Opera links gezeichnet!!!!

    Die Tabelle ist absolut korrekt linksbündig ausgerichtet. Ihre Breite richtet sich nach ihrem Inhalt aus, welcher sich auf exakt dem Platz zentriert, den er benötigt.

    Ah, aber auf SelfHTML aber da steht auch:
    "Block-Elemente selbst werden über margin ausgerichtet".
    Hahahaha Ja genau!

    Ja, genau. Was genau gibt es dabei zu lachen?

    Bei der CSS Definition steht aber folgendes:
    "If there is only one value, it applies to all sides, if there are two or three, the missing values are taken from the opposite side."

    Ja. Und was hat das mit Zentrierung zu tun? Es sagt aus, wie die Angabe eines, zweier, dreier oder vierer Werte bei der margin-Eigenschaft (im Gegensatz zu z.B. margin-right) zu interpretieren sind - was hier keine Rolle spielt, denn in *jedem* Fall kommen effektiv alle vier Werte raus.

    Also, wenn ein Margin nicht deklariert wird, sollten beide Seiten gleich sein.

    Also, wenn margin:10px deklariert ist, sollten margin-top, margin-right, margin-bottom und margin-left identisch auf je 10px gesetzt sein.

    Also ist IE der einziger Browser der korrekt darstellt!

    Diese Behauptung kann man getrost als absurd bezeichnen. Die Wahrscheinlichkeit, dabei zu irren, ist vernachlässigbar gering.

    Oder doch nicht? Verstehe ich was Falsch?

    Der Default-Wert von margin ist 0, nicht auto.

    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