kaepten: style für Elemente löschen

Hallo Forum

Ich kämpfe gerade mit JavaScripts rum, die ich über Greasemonkey (Firefox) laufen lassen. Das Script fügt neue HTML-Elemente auf einer Seite ein. Das Problem was ich so habe ist, dass ich gezielt CSS-Styles für meine neuen HTML Elemente setzen muss. Hat der Body z.B. Fontsize 1.5em und ich will das nicht, dann setze ich in meinem HTML Element halt diesen Style explizit wieder auf 1.0em.

Nun ist das aber ein Problem, bei sehr vielen unterschiedlichen Style-Settings einer Seite. Ich kriege das bei meinem HTML Elemente nicht in den Griff, explizit alle zu überschreiben die gesetzt sind. Kommt dazu, dass mein Greasemonkey Script auf ganz unterschiedlichen Webseiten mit unterschiedlichsten Style-Definitionen angewendet werden kann.

Langer reden kurzer Sinn: kann ich für meine HTML Elemente die Vererbung von CSS durchbrechen bzw. unterbinden? Je höher ja die Styles definiert sind, desto problematischer wirds, weil sie "indirekt" gesetzt sind. Kann ich ein magic-style definieren, der alle irgendwo gesetzten Styles ignoriert?

Vielen Dank für Hinweise
kaepten

  1. Langer reden kurzer Sinn: kann ich für meine HTML Elemente die Vererbung von CSS durchbrechen bzw. unterbinden? Je höher ja die Styles definiert sind, desto problematischer wirds, weil sie "indirekt" gesetzt sind. Kann ich ein magic-style definieren, der alle irgendwo gesetzten Styles ignoriert?

    Vielen Dank für Hinweise
    kaepten

    Hallo kaepten

    Um die CSS-Vererbung zu durchbrechen gibt es leider keine standardisierte Methode.

    Hier ist ein Interessanter Artikel der sich mit dem selben Problem beschäftigt:
    http://webreflection.blogspot.com/2006/12/reset-element-css.html

    So etwas wie dein "magic-style" gibt es, wenn du eine CSS-Eigenschaft so deklarierst: "background:red !important" kann es nicht mehr überschrieben werden. Ein Problem könnte sein, wenn die Website auch solche "important" Anweisungen definiert.

    Gruss brennstempel

    Ansonsten gibt es noch die Möglichkeit das ganze in einem inline-frame zu machen, dort wird jedoch die interaktion mit der Website komplizierter.

    1. Hallo brennstempel

      http://webreflection.blogspot.com/2006/12/reset-element-css.html

      Besten Dank für den Hinweis! Das ist doch etwas, ich werde mit damit experimentieren. Ich habe eben auch schon daran, dass es möglicherweise gar nicht so extrem viele Settings sind die man neutralisieren müsste. Mal schauen ob es klappt.

      kaepten