suit: Neuer CSS-Hack für Opera (Opera 11.11)

http://suit.rebell.at/fileadmin/a-22/example/#example-12 letzter Testcase (:nth-child(258)-Hack)

Die Erkenntnisse entstammen dieser Site: http://www.brunildo.org/test/Op-nth-child.html Opera scheint hier irgendwie einen Überlauf bei nth-child() zu haben und dreht dann durch.

Erkärungsversuch: Bei 255 springt der nth-child()-Zähler auf 0 zurück und zählt dann mit "irgendwelchen" Elementen weiter.  0 (256) ist das html-Element, 1 (257) das head-Element und 2 (258) schließlich das body-ELement.

Ganz so stimmt das aber nicht, denn div:nth-child(259) selektiert dann nicht das 1. div-Element sondern das 4. (7. Element im DOM).

Jedenfalls lässt sich damit in Kombination mit dem anderen Hack (example-11), den ich vor Monaten schon gefunden habe aber mit 10.60 gefixt wurde ein recht guter Hack für Opera 10.6x drehen oder wenn man einen Selektor oder eine Pseudoklasse dazunimmt, die Opera 9.64 noch nicht kannte, lässt sich ein Hack für Opera 11 und für Opera Mobile 10 drehen (die sind allerdings nicht zukunftssicher).

  1. Jedenfalls lässt sich damit in Kombination mit dem anderen Hack (example-11), den ich vor Monaten schon gefunden habe aber mit 10.60 gefixt wurde ein recht guter Hack für Opera 10.6x drehen oder wenn man einen Selektor oder eine Pseudoklasse dazunimmt, die Opera 9.64 noch nicht kannte, lässt sich ein Hack für Opera 11 und für Opera Mobile 10 drehen (die sind allerdings nicht zukunftssicher).

    … womit du dann schön demonstiert hast, warum dein ganzes Gehacktes albern und Zeitverschwendung ist.

    Man mus schon ein ziemlich spinnert sein, um zu glauben, Code für ein halbes Dutzend Browserversionen wäre von Nöten - davon, dass die ganze Arbeit nur bei einer homöopathischen Dosis Opera-Freunde von Belang ist, die das dann vermutlich auch noch nicht einmal bemerken, mal ganz zu schweigen. Und zu allem Überfluss auch noch zu wissen, dass das alles bald nicht mehr "funzt".

    Aber manche Seitenfrickler haben halt viel Zeit neben der Schule. Melde die Fehler an Opera, das ist allemal sinnvoller.

    1. … womit du dann schön demonstiert hast, warum dein ganzes Gehacktes albern und Zeitverschwendung ist.

      Hacken ist niemals Zeitverwendung - man erweitert dadurch seinen Horizont, lernt dazu.

      Man mus schon ein ziemlich spinnert sein, um zu glauben, Code für ein halbes Dutzend Browserversionen wäre von Nöten

      Habe ich gesagt, dass das nötig ist? Sollte es dennoch nötig sein, ist es gut, dass es eine Möglichkeit gibt. Versuch bitte mal mit der Suchmaschine deiner Wahl nach Hacks für Safari 5, Chrome 11 oder Opera 10.x aufwärts zu suchen. Wenn du welche findest, bist du schon verdammt gut.

      • davon, dass die ganze Arbeit nur bei einer homöopathischen Dosis Opera-Freunde von Belang ist,

      Opera hat bei den von mir betreuten Seiten im Schnitt mehr Marktanteil als Safari, auf Mobilgeräten und auf Spielkonsolen sogar viel mehr. Auf der Microsoft-Website werden vermutlich mehr Internet-Explorer-Benutzer daherkommen und auf der Apple-Site eher Safari-Nutzer - das ist alles Zielgruppenabhängig. Kennst du meine Zielgruppe oder die Zielgruppe meiner Kunden?

      die das dann vermutlich auch noch nicht einmal bemerken, mal ganz zu schweigen. Und zu allem Überfluss auch noch zu wissen, dass das alles bald nicht mehr "funzt".

      Ich kann dir nicht folgen.

      Aber manche Seitenfrickler haben halt viel Zeit neben der Schule.

      Woraus ziehst du die Erkenntnis, dass ich ein "Seitenfrickler" und neben der Schule viel Zeit habe?

      Melde die Fehler an Opera, das ist allemal sinnvoller.

      Woher nimmst du die Erkenntnis, dass ich das nicht schon getan habe? Der "*~html>:first-of-type"-Bug wurde schließlich auch gefixt - meinst du, die sind selbst draufgekommen?

      1. @@suit:

        nuqneH

        Habe ich gesagt, dass das nötig ist? Sollte es dennoch nötig sein, ist es gut, dass es eine Möglichkeit gibt. Versuch bitte mal mit der Suchmaschine deiner Wahl nach Hacks für Safari 5, Chrome 11 oder Opera 10.x aufwärts zu suchen. Wenn du welche findest, bist du schon verdammt gut.

        Bei Opera würde ich auf einen JavaScript-Einzeiler im 'head' setzen:
        if (window.opera) document.documentElement.className += ' opera opera_version_' + window.opera.version() + ' opera_buildNumber_' + window.opera.buildNumber();

        Das eröffnet dem Nachfahrenselektor alle Möglichkeiten …

        Qapla'

        --
        Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
        (Mark Twain)
        1. Bei Opera würde ich auf einen JavaScript-Einzeiler im 'head' setzen:
          if (window.opera) document.documentElement.className += ' opera opera_version_' + window.opera.version() + ' opera_buildNumber_' + window.opera.buildNumber();

          Das eröffnet dem Nachfahrenselektor alle Möglichkeiten …

          Das ist natürlich eine Möglichkeit, aber eine reine CSS-Lösung ist nicht verkehrt. Den Internet Explorer 6 (wenn überhaupt) fütterst du ja auch Star-HTML und nicht mit einer JavaScript-Weiche.