Der Martin: User-Stylesheet im IE: Ein Witz?

n'Abend allerseits!

Dieser Thread von heute nachmittag hat mich mal wieder daran erinnert, dass ich doch schon lange mal ausprobieren wollte, was man im IE mit User-Stylesheets so alles anstellen kann. Die Fragestellung des OP brachte mich beispielsweise auf die Idee, so lästiges Zeug wie umgefärbte Scrollbars mit einem User-Stylesheet wieder mit den Standardwerten zu überschreiben und den Unfug so zu unterbinden.

Da ich auf die Schnelle kein Fallbeispiel für eine Seite mit modifizierten Scrollbars zur Hand hatte, habe ich andere CSS-Eigenschaften zum Testen verwendet: Ich habe in meinem User-CSS body {background-color: #F00; } definiert. So, über Tools/Internet Options/Accessibility/User Stylesheet die CSS-Datei eingetragen, fertig.

Dann ein paar Seiten zum Testen aufgerufen: Ernüchterung. Auf keiner der gewählten Beispielseiten war mein gifitg-roter Hintergrund zu sehen. Nach einigem Experimentieren habe ich schließlich folgendes festgestellt:

Das User-Stylesheet des IE überschreibt nicht die Vorgaben des Seitenerstellers, sondern umgekehrt! Das User-Stylesheet liefert eigentlich nur Defaultwerte, die sowohl von style-Definitionen im <head>, als auch von extern eingebundenen CSS-Ressourcen, als auch inline-Styles überschrieben werden! IE6 und 5.5verhalten sich hier übrigens identisch.

Bin ich zu doof? Oder eher Microsoft?
Denn so geht das Verhalten ja wohl völlig am Zweck vorbei, zumal es laut MS-Darstellung auch dazu gedacht ist, Menschen mit Behinderungen oder Schwächen das Überschreiben der für die ungünstigen Formatierungen des Seitenautors zu überschreiben. Das Ganze läuft ja nicht ohne Grund unter dem schönen Begriff "Accessibility Options".

Schade, hätte eigentlich eine prima Sache sein können. Aber so ...
Oder habe ich wirklich etwas übersehen? Hat schonmal jemand Erfahrungen mit dieser Möglichkeit gemacht?

Schönen Abend noch,
 Martin

--
Fettflecke werden wieder wie neu, wenn man sie regelmäßig mit etwas Butter einschmiert.
  1. Hi there,

    Das User-Stylesheet des IE überschreibt nicht die Vorgaben des Seitenerstellers, sondern umgekehrt!

    Deine Sorgen möcht' ich haben...

  2. hi,

    Das User-Stylesheet des IE überschreibt nicht die Vorgaben des Seitenerstellers, sondern umgekehrt!

    Gebrauch von !important mal versucht?

    Bin ich zu doof? Oder eher Microsoft?
    Oder habe ich wirklich etwas übersehen?

    Waren deine Selektoren wirklich stärker, als die der Seitenstyles?

    Du sagst, du das body formatiert - wenn nun die Testseite selber body.klasse formatiert hätte ...

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hallo,

      Gebrauch von !important mal versucht?

      ja, hab ich probiert, aber ziemlich leidenschaftslos: Soweit ich weiß, kennt der IE diese Direktive gar nicht. Erwartungsgemäß hat es auch am Verhalten nichts geändert.

      Waren deine Selektoren wirklich stärker, als die der Seitenstyles?

      Nein, sie waren identisch. Vom Anwendungszweck her gesehen möchte ich ja keine spezifischeren Selektoren im User-Stylesheet, sondern eher sogar allgemeinere.
      Ich hatte nachher eine minimalistische Testseite, die im body nur noch ein p und ein div-Element ohne jegliche Klassen und IDs enthielt, und habe im CSS auch nur den Elementselektor verwendet.

      Du sagst, du das body formatiert - wenn nun die Testseite selber body.klasse formatiert hätte ...

      Ein interessanter Aspekt - aber bei meiner Mini-Testseite nicht relevant. Dennoch würde ich mir wünschen, dass eine Definition für body im User-Stylesheet auch die spezifischere für body.klasse überschreibt (auch wenn das ansonsten den Gewichtungsregeln für CSS-Selektoren widerspricht).

      So long,
       Martin

      --
      F: Was ist eigentlich aus deinem schlimmen Durchfall geworden?
      A: Mein Arzt hat mir Valium verschrieben.
      F: Und das hilft?
      A: Naja, ich mach mir immer noch in die Hose. Aber inzwischen ist es mir egal.
  3. Hallo,

    Dieser Thread von heute nachmittag hat mich mal wieder daran erinnert, dass ich doch schon lange mal ausprobieren wollte, was man im IE mit User-Stylesheets so alles anstellen kann. Die Fragestellung des OP brachte mich beispielsweise auf die Idee, so lästiges Zeug wie umgefärbte Scrollbars mit einem User-Stylesheet wieder mit den Standardwerten zu überschreiben und den Unfug so zu unterbinden.

    Da ich auf die Schnelle kein Fallbeispiel für eine Seite mit modifizierten Scrollbars zur Hand hatte,

    http://de.selfhtml.org/css/eigenschaften/anzeige/scrollbars.htm

    Das User-Stylesheet des IE überschreibt nicht die Vorgaben des Seitenerstellers, sondern umgekehrt! Das User-Stylesheet liefert eigentlich nur Defaultwerte, die sowohl von style-Definitionen im <head>, als auch von extern eingebundenen CSS-Ressourcen, als auch inline-Styles überschrieben werden! IE6 und 5.5verhalten sich hier übrigens identisch.

    Bin ich zu doof? Oder eher Microsoft?

    Wenn du die User-CSS mit der aktivierung der darüber befindlichen Optionen (Farben, Schriftarten, Schriftgröße von Webseiten ignorieren) verwendest, funktionier das schon. Nur du muss das für alle HTML-Elemente dann definitionen angeben, sonst kann sein, dass du eine absolute "leere" Seite mit bunten Scrollbars siehst .

    Grüße
    Thomas

    1. Hallo Thomas,

      Bin ich zu doof? Oder eher Microsoft?
      Wenn du die User-CSS mit der aktivierung der darüber befindlichen Optionen (Farben, Schriftarten, Schriftgröße von Webseiten ignorieren) verwendest, funktionier das schon.

      Ah, na gut, das klingt logisch. Aber ich will ja nicht pauschal z.B. alle Farbangaben außer Kraft setzen, sondern nur selektiv für bestimmte Elemente überschreiben.

      Thanks anyway,
       Martin

      --
      Man sollte immer wissen was man sagt
       - aber auf keinen Fall alles sagen, was man weiß.
  4. Hi,

    zum besseren Nachvollziehen: Das hier waren meine endgültigen Testbedingungen.

    --- [test.htm] -----------------

    <html>  
    <head>  
    <title>User CSS im</title>  
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">  
    <link rel="stylesheet" type="text/css" href="test.css">  
    <style type="text/css">  
    body { background-color: #8080FF; }  
    p    { background-color: #C0C0FF; color: #0000FF; }  
    div  { border: 1px solid #FF0000; }  
    </style>  
    </head>  
      
    <body>  
    <p>Textabsatz.</p>  
    <div>div-Block</div>  
    </body  
    </html>
    

    --- [test.css] -----------------

    body { background-color: #FFFF00; }  
    p    { background-color: #0000FF; color: #FFFFFF; }  
    div  { border: 1px solid #00FF00; }
    

    --- [user.css] -----------------

    body { background-color: #FF0000; }  
    p    { background-color: #00FF00; color: #000000; }  
    div  { border: 1px solid #000000; }
    

    Zum Testen hab ich sukzessive immer an einer Stelle (CSS im <head>, externes Stylesheet) eine Eigenschaft weggelassen und geprüft, welcher der unterschiedlichen Werte sich dann durchsetzt. Die Werte aus dem User-CSS hatten dabei *immer* die niedrigste Priorität und haben sich gegen keine andere Angabe durchgesetzt.

    Ciao,
     Martin

    --
    Fettflecke werden wieder wie neu, wenn man sie regelmäßig mit etwas Butter einschmiert.
  5. Hi,

    Ich weiß jetzt nicht, ob es jetzt wirklich nur um den Internet Explorer geht, oder generell um die Möglichkein, eigene Farben für Webseiten zu verwenden. Jedenfalls geht's mit Firefox. Wenn man die Einstellung "Seiten das Verwenden der eigenen statt der gewählter Einstellung erlauben" entfernt. Ob das auch mit kompletten eigenen Stylesheets geht, kann ich dir aber leider nicht sagen.

    Einen schönen Donnerstag noch!

    1. Hallo,

      Ich weiß jetzt nicht, ob es jetzt wirklich nur um den Internet Explorer geht, oder generell um die Möglichkein, eigene Farben für Webseiten zu verwenden.

      den Eindruck habe ich auch.
      Ja, es geht mir im Moment ganz konkret um die Möglichkeiten im IE. Dass das bei anderen Browsern, vor allem Opera, teils wesentlich besser geht, ist mir bekannt. Das ist aber nicht das Thema.

      Ciao,
       Martin

      --
      Solange der Nagellack nicht trocken ist,
      ist eine Frau praktisch wehrlos.
        (Burt Reynolds, US-Schauspieler)
  6. Hallo Martin,

    Das User-Stylesheet des IE überschreibt nicht die Vorgaben des Seitenerstellers, sondern umgekehrt!

    Was nach http://www.w3.org/TR/CSS21/cascade.html#cascading-order auch korrekt ist. Nur die User-!important-Rules überschreiben die Autor-!important-Rules, die normalen Autor-Rules überschreiben dagegen die normalen User-Rules.

    Und der IE 6.0.2800.1106 unter Linux macht's bei mir richtig - auch !important kann er und setzt es korrekt gemäß CSS 2.1 um - zumindest wenn ich keinen Fehler beim Test gemacht habe. Man muss ihn allerdings neu starten, damit das User-CSS wirksam wird.

    Viele Grüße,
    Christian

    1. Hallo Christian,

      Nur die User-!important-Rules überschreiben die Autor-!important-Rules, die normalen Autor-Rules überschreiben dagegen die normalen User-Rules.

      ah, danke. Das war mir auch noch nicht bekannt.

      Und der IE 6.0.2800.1106 unter Linux macht's bei mir richtig - auch !important kann er und setzt es korrekt gemäß CSS 2.1 um - zumindest wenn ich keinen Fehler beim Test gemacht habe. Man muss ihn allerdings neu starten, damit das User-CSS wirksam wird.

      Mein 5.5er zeigt sich von !important völlig unbeeindruckt, übernimmt aber dafür Änderungen der User-CSS-Einstellungen ohne Browser-Neustart: Beim Klick auf OK im entsprechenden Einstelldialog werden alle geöffneten Browserfenster sofort aktualisiert.

      Den Test von !important im ungeliebten 6er kann ich morgen nochmal nachprüfen. Heute mittag wollte er davon irgendwie nix wissen. Und ich habe in der Firma auch einen 6.0.2800.irgendwas, oder mit bürgerlichem Namen IE6/SP1 unter Win2k/SP4.

      So long,
       Martin

      --
      Die meisten Menschen werden früher oder später durch Computer ersetzt.
      Für manche würde aber auch schon ein einfacher Taschenrechner genügen.
    2. Hallo Christian,

      Und der IE 6.0.2800.1106 unter Linux macht's bei mir richtig - auch !important kann er und setzt es korrekt gemäß CSS 2.1 um - zumindest wenn ich keinen Fehler beim Test gemacht habe. Man muss ihn allerdings neu starten, damit das User-CSS wirksam wird.

      ich hab heute noch einmal versucht, das mit einem IE6 nachzuvollziehen - und kann dir zustimmen, auch mit IE6/Win. Mittlerweile weiß ich auch, warum es bei mir gestern nicht funktionieren wollte: Ein einfacher Syntaxfehler im CSS. Ich habe unbewusst und automatisch ein Semikolon zwischen der CSS-Regel und dem !important gesetzt.
      Wieder daheim, habe ich das auch mit dem 5.5er noch einmal getestet - auch in Ordnung! Mit !important und mit der *richtigen* Notation übernimmt er jetzt auch die Regeln aus dem User-CSS so, wie ich sie eigentlich wollte, nämlich mit höchster Priorität.
      Der 5.5er hat gegenüber dem 6er sogar die Nase vorn, was das Handling betrifft: Ein Browserneustart ist nicht nötig, da Änderungen beim Bestätigen des entsprechenden Einstelldialogs in der Internet-Systemsteuerung sofort in allen offenen Browserfenstern live übernommen werden.

      Fazit: Ich sehe das User-Stylesheet im IE nun als eine weitere gute Möglichkeit, störende Formatierungen auf Webseiten (z.B. bunt gefärbte Scrollbalken) einfach auszuhebeln. Werde ich beibehalten!

      Danke an alle, die hier mitgewirkt haben!

      Schönes Wochenende,
       Martin

      --
      Wenn du beim Kochen etwas heißes Wasser übrig hast, friere es ein.
      Heißes Wasser kann man immer gebrauchen.
  7. Hello,

    kleine Nebenfrage.
    Wenn ich beim IE5.5 ein Userstylesheet einrichte, kann ich damit kein Online-Banking mehr machen.
    Ist das auch ok so?

    Harzliche Grüße vom Berg
    http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau

    1. Moin!

      Wenn ich beim IE5.5 ein Userstylesheet einrichte, kann ich damit kein Online-Banking mehr machen.
      Ist das auch ok so?

      Das ist OK so, mit dem IE sollte man in keiner Version Online-Banking machen. :)

      - Sven Rautenberg

      --
      My sssignature, my preciousssss!
      1. Hello,

        Ist das auch ok so?

        Das ist OK so, mit dem IE sollte man in keiner Version Online-Banking machen. :)

        Das ist ein Argument.
        Und wenn ich jetzt lese, was in dem IE 6.x wieder so alles aufgetaucht ist...

        BTW: Die Leute von http://www.buerger-cert.de/ haben ihre Seite immer noch nicht repariert. Mit dem IE 5.5 bekommt man immer noch keine Navigation und Impressum ;-)

        Harzliche Grüße vom Berg
        http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau

    2. Hallo Tom,

      kleine Nebenfrage.
      Wenn ich beim IE5.5 ein Userstylesheet einrichte, kann ich damit kein Online-Banking mehr machen.

      das kann ich nicht nachvollziehen. Ich habe das gerade (auch mit einem 5.5er, genauer: 5.50.2807.2300 unter Win2k/SP4) mal nachgeprüft. Kein Problem! Ich könnte auch rational nicht nachvollziehen, was das miteinander zu tun haben könnte.

      Ist das auch ok so?

      Nein, bestimmt nicht. Da muss noch an einer anderen Stelle der Wurm drin sein.

      So long,
       Martin

      --
      Wenn alle das täten, wass sie mich können,
      käme ich gar nicht mehr zum Sitzen.
    3. Hi!

      Wenn ich beim IE5.5 ein Userstylesheet einrichte, kann ich damit kein Online-Banking mehr machen.

      Welches Online-Banking?

      Ist das auch ok so?

      Nein. Zumindest das Online-Banking der Sparkassen-Informatik funktioniert auch mit User-Stylesheets.

      Gruß aus Iserlohn

      Martin

      --
      Spiele dein Lied, aber zwinge die Melodie nicht der übrigen Menschheit auf.
      Selfcode: ie:{ fl:( br:^ va:) ls:# fo:| rl:( n4:( ss:| de:> js:) ch:? sh:( mo:| zu:)
      1. Hello,

        Welches Online-Banking?

        Ich werde die Namen der Spender nicht nennen ;-))

        Es ist mir schon bei mehreren passiert.
        Das muss was mit den Applets zu tun haben. Die scheinen die Kontrollsumme der Seiten zu ckecken.
        Wie das genau funktioniert, ist mir zwar noch nicht ganz klar, aber denkbar wäre es.

        Harzliche Grüße vom Berg
        http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau

        1. HI!

          Es ist mir schon bei mehreren passiert.
          Das muss was mit den Applets zu tun haben. Die scheinen die Kontrollsumme der Seiten zu ckecken.

          OK, dann war es nicht unsers - keine Applets...

          Gruß aus Iserlohn

          Martin

          --
          Der Student studiert, der Arbeiter arbeitet, der Chef scheffelt!
          Selfcode: ie:{ fl:( br:^ va:) ls:# fo:| rl:( n4:( ss:| de:> js:) ch:? sh:( mo:| zu:)
          1. Hello,

            OK, dann war es nicht unsers - keine Applets...

            Nö, keine Panik :-)
            Die Online-Banking-Seite von der Sparkasse hier funktioniert bei mir auch mit User-Stylesheets.

            Harzliche Grüße vom Berg
            http://www.annerschbarrich.de

            Tom

            --
            Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
            Nur selber lernen macht schlau

            1. Hi,

              Die Online-Banking-Seite von der Sparkasse hier funktioniert bei mir auch mit User-Stylesheets.

              Übrigens... ich hatte meiner Sparkasse kürzlich mal eine Mail geschrieben und auf wirklich üble Zustände hingewiesen (Onlinebanking öffnete sich im Popup und das Überweisungsformular hierin noch in einem Frame) - und das wurde erfreulicherweise abgestellt. Dennoch war die Verbesserung nur sehr halbherzig und das Onlinebanking ist nach wie vor nur über Javascript erreichbar. Auch muß ich mein User-CSS noch nutzen, um das Überweisungsformular vernünftig zu formatieren. Irgendwie haben die es noch nicht kapiert, daß man bei Verwendung diktengleicher Schriften die Breite der Eingabefelder in em so festlegen kann, daß sie ziemlich genau der Maximallänge entspricht - und daß man das Formular und die Schrift ruhig etwas größer machen kann, um Fehleingaben vorzubeugen.

              freundliche Grüße
              Ingo

              1. Hello Ingo,

                Die Online-Banking-Seite von der Sparkasse hier funktioniert bei mir auch mit User-Stylesheets.
                Übrigens... ich hatte meiner Sparkasse kürzlich mal eine Mail geschrieben und auf wirklich üble Zustände hingewiesen (Onlinebanking öffnete sich im Popup und das Überweisungsformular hierin noch in einem Frame) - und das wurde erfreulicherweise abgestellt. Dennoch war die Verbesserung nur sehr halbherzig und das Onlinebanking ist nach wie vor nur über Javascript erreichbar. Auch muß ich mein User-CSS noch nutzen, um das Überweisungsformular vernünftig zu formatieren. Irgendwie haben die es noch nicht kapiert, daß man bei Verwendung diktengleicher Schriften die Breite der Eingabefelder in em so festlegen kann, daß sie ziemlich genau der Maximallänge entspricht - und daß man das Formular und die Schrift ruhig etwas größer machen kann, um Fehleingaben vorzubeugen.

                Es ist wahr.
                Manche Banken und Sparkassen habe da wirklich grausame Anwendungen
                Allerdings zeigt us das doch, dass die Dinge von Menschen gemacht werden.
                Außerdem sollte Unternehmen in ihrer Kommunikationsstruktur offener werden, und wenn eine Mängelrüge zu diesem Thema eintrifft, dieser auch nachgehen und ggf. Rücksprache halten.
                Das Wissen liegt manchmal auf der Straße, man muss es nur aufsammeln :-)

                Harzliche Grüße vom Berg
                http://www.annerschbarrich.de

                Tom

                --
                Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                Nur selber lernen macht schlau

              2. Hallo.

                Irgendwie haben die es noch nicht kapiert, daß man bei Verwendung diktengleicher Schriften die Breite der Eingabefelder in em so festlegen kann, daß sie ziemlich genau der Maximallänge entspricht

                Das kapiere ich aber auch nicht. Wie soll das funktionieren? Eine dicktengleiche 10-Pitch-Schriftart läuft zwangsläufig immerhin zwanzig Prozent breiter als eine dicktengleiche 12-Pitch-Schrift. Gilt das bei dir schon als "ziemlich genau"? Und die em beziehen sich ja auf die Kegelhöhe und nicht auf die Laufweite.
                MfG, at

                1. Hi,

                  Das kapiere ich aber auch nicht. Wie soll das funktionieren?

                  Schau's Dir einfach an: so.

                  freundliche Grüße
                  Ingo