berdn: Safari, CSS-Hack gefunden ?

Hallo Forum,

ich habe heute bei mir folgendes entdeckt:
OS X 10.3.9 Safari 1.3.2 (v312.6)

Wenn ich in einen externen CSS, folgendes einbinde:
#test li a , #test li span { background:  url() 0 0 no-repeat;) }

Wird das folgende CSS dieser Seite in Safari nicht mehr ausgeführt.

Das nächste externe CSS wird aber wieder ausgeführt.

Kann mir das jemand vielleicht erklären, bzw. auch mal mit anderen Safari's ausprobieren.

Denn wenn da eine Gesetzmäßigkeit hinterstecken würde könnte man das ja als CSS-Hack nutzen.

Das Element mit der ID existiert nicht im HTML Dokument.

Liebe Grüße,

Bernd

  1. Hallo,

    Wenn ich in einen externen CSS, folgendes einbinde:
    #test li a , #test li span { background:  url() 0 0 no-repeat;) }

    ^Syntax Fehler

    Wird das folgende CSS dieser Seite in Safari nicht mehr ausgeführt.

    Ja, wahrscheinlich wegen der fehlerhaften runden Klammer zu. Mangels Safari kann ich im Moment nicht testen, ob das in mehreren Fällen so ist. Ob eine solche fehlerhaft gesetzte Klammer _immer_ und in allen möglichen Szenarien zum Ignorieren des nachfolgenden CSS führt, kann nur von denen mit Sicherheit bestätigt werden, die den Quellcode von Safari einsehen und interpretieren können.

    Denn wenn da eine Gesetzmäßigkeit hinterstecken würde könnte man das ja als CSS-Hack nutzen.

    Ja. Das wird genau so sicher funktionieren, wie CSS-Hacks allgemein funktionieren, nämlich gar nicht sicher ;-). Verlass Dich nicht auf CSS-Hacks, suche nach anderen Möglichkeiten.

    viele Grüße

    Axel

    1. Hallo Axel,

      die Klammer wars ;-)
      Das funktioniert dann auch:
      #test { background:  url() 0 0 no-repeat;)

      Aber da es sich da um einen realen Fehler und nicht um eine Browsereigenart handelt, kann ich Ihn wohl vergessen ;-(

      Und ich habe erst von einen funktionierenden Hack gelesen, der erscheint mir aber zu aufwendig.

      Und sicher versuche ich Hacks zu vermeiden, und meine Seiten funtionieren natürlich auch ohne.

      So Hacks sind dann manchmal nur noch ein wenig Sahne oben auf ;-)

      Und es gibt ein paar kleinigkeiten, da reagiert der Safari anders als der IE und Firefox. Und erkläre mal den Grafikern warum ausgerechnet in Ihren Lieblinsbrowswer das Icon etwas zu weit links sitzt ;-)

      Oder mal im Opera ein Formularfeld 2 Pixel länger machen.

      Liebe Grüße,

      Bernd

      1. Hallo berdn.

        Und erkläre mal den Grafikern warum ausgerechnet in Ihren Lieblinsbrowswer das Icon etwas zu weit links sitzt ;-)

        Es ist eben einfach so.™

        Oder mal im Opera ein Formularfeld 2 Pixel länger machen.

        Wer auf so etwas achtet, ist meiner Meinung nach im Bereich Webgestaltung fehl am Platze.

        Einen schönen Sonntag noch.

        Gruß, Ashura

        --
        sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
        „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
        [HTML Design Constraints: Logical Markup]
        1. Hallo.

          Oder mal im Opera ein Formularfeld 2 Pixel länger machen.

          Wer auf so etwas achtet, ist meiner Meinung nach im Bereich Webgestaltung fehl am Platze.

          Andererseits...
          MfG, at

      2. Hallo,

        Aber da es sich da um einen realen Fehler und nicht um eine Browsereigenart handelt, kann ich Ihn wohl vergessen ;-(

        Nein, genau das ist der Ansatzpunkt für sogenannte "Hacks". Es werden absichtlich Fehler ins CSS geschrieben, und man nutzt die Reaktion bestimmter Browser auf diese Fehler aus, um diesen Browsern CSS entweder vorzuenthalten oder eben speziell zu präsentieren, weil sie als einzige diesen Fehler tolerieren. Hier liegt genau das Problem der Hacks. Man geht davon aus, dass die entsprechenden Browser grundsätzlich so auf diese Fehler reagieren, wie sie es in einigen Testszenarios getan haben. Das ist mir zu unsicher.

        Sicher wird es erst, wenn man aus berufenem Munde gehört hat, oder besser dokumentiert gefunden hat, dass der Browser immer so reagieren wird, weil er muss, weil eben diese Reaktion so programmiert ist. Dann kann man das sicher einsetzen. Beispiel hierfür sind die Conditional Comments für IE-Browser.

        viele Grüße

        Axel