Frage von MichiruKaio, 8

Wie verhält sich die CSS Kaskade, wenn in style.css!important verwendet wird aber im HTML Tag ebenfalls ein "style"?

Hallo,

mich würde interessieren wie die CSS Kaskade abläuft hinsichtlich Styleattributen.

Beispiel ... wenn ich in einer CSS Datei bestimmte Werte festlege wie ein Text erscheinen soll (Größe, Farbe, ....) und diesen mit !important festlege. Kann dieser weiterhin durch einen Style Eintrag im direkten HTML-Tag überschrieben werden?

Die amüsante Darstellung von HTML Style Tag (Kriegsschiff mit Bombenabschuss) und !important als Atombomeneinschlag habe ich schon angesehen.

Auch weiß ich, dass der Style im HTML Tag in der Regel Vorrang hat.

Der Grund für die Frage ist dieser, dass ich unglücklicherweise nicht allein in unserem Shopsystemen arbeite.

Während ich weiß, dass es ungünstig ist eine Artikelbeschreibung aus Word in das Beschreibungsfenster (WYSIWYG) zu kopieren und daher direkt in den Quellcode gehe um ggf. Absätze anzupassen. Wird so von jeden anderen der da keine Ahnung hat nicht genommen.

"Dankenswerterweise" wird beim Kopieren aus Word aber noch soviel Blödsinn als Style Element übergeben, dass es zum Heulen ist. Gerade wenn auf einmal innerhalb der Beschreibung 3 Schriftgrößen, 2 Schriftfarben wenn nicht gar unterschiedliche Schriftarten vorhanden sind. T_T

Nun würde ich gerne dafür sorgen, dass hier nichts mehr von irgendwelchen Style in HTML Tags übernommen werden können. Sowie es möglich ist, was ich tief im Herzen hoffe.

Antwort
von FaronWeissAlles, 8

Die Priorität ist:

    1. style="..." (Angabe innerhalb des HTML)
    2. #eine_id div.eine_klasse
    3. #eine_id div
    4. #eine_id
    5. div .eine_klasse
    6. div.eine_klasse
    7. div

!important setzt die Priorität des Attributs auf Maximum. D.h. sie überschreibt auch Angaben im HTML-style-Element (kann ich bestätigen). Bei mehreren zutreffenden Attributen mit !important-Angabe gilt die letzte.

Das macht die Stylesheets natürlich etwas unleserlich weil plötzlich "von irgendwo" ein Attribut herkommt das sich vordrängelt und man dann ggf. erstmal herausfinden muss was wo gerade aktiv ist. Aber das ist dir ja sicher bewusst.

Wenn der WYSIWYG-Generator natürlich auch !important verwendet hast du Pech gehabt, da das HTML-style-Element die "letzte" Stelle ist und damit deine vorherige !important-Angabe überschreibt

Kommentar von MichiruKaio ,

Hm ein !important hatte ich in den kopierten Textstellen nicht gesehen.

Dafür aber zahlreiche Änderungen dank MS Word.

Es ist halt echt grausam, wenn der Text an x Stellen komplett anders aussieht innerhalb einer Webseite. >_> Wie gewollt und nicht ganz gekonnt. Da natürlich auch das Design in den Dokumenten immer etwas anders ist. (Zumindest kommt es mir so vor).

Ich werde mal testen, dass alle Style Elemente im HTML Tag umgangen werden bzw. abgeschaltet werden. 

Yeah have fun...

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten