2017-05-05 7 views
0

Ich habe CSS innerhalb der Seite als <style type="text/css"> eingebettet und ich habe CSS als <link href> verwiesen.CSS laden ist falsch

Wie kann sichergestellt werden, dass das in <link> angegebene CSS zuerst vor dem <style type="text/css"> geladen wird?

Im Moment hat das in der Seite eingebettete css Vorrang, was einige Stilprobleme verursacht. in dem Bild unten, ich brauche .sanddbox dropdown-menu Vorrang vor .dropdown-menu. Ich kann das bekommen, wenn ich die CSS-Dateien mit link Tag laden. Aber ich möchte, dass sie in die Seite eingebettet werden.

enter image description here

+0

Setzen Sie Ihre Tags in der Reihenfolge, die Sie laden möchten? –

+0

Die min.js (die Informationen zur dynamischen CSS-Injektion enthält) wird mit require (". Js") geladen. Und das CSS ist in HTML. – user2325247

+0

Könnte es sinnvoll sein, die Spezifität Ihres CSS zu untersuchen? Es sollte egal sein, welche Reihenfolge Ihr CSS lädt. – Snowmonkey

Antwort

0

In Linienstilen und Artblöcke in der Seite reitet immer über alle externen CSS-Dateien. Die richtige Sache zu tun ist, entfernen Sie die Inline-CSS. Ich gehe davon aus, dass du das für eine Resaon nicht tun kannst (es gibt viele). Dann ist der einzige Weg, dies zu überwinden, !important nach dem Attribut in der CSS-Datei zu setzen.

zB:

div.test { 
    color: blue !important; 
} 
+0

Die externe CSS-Datei hat viele Attribute. Sollte ich wichtig für jedes einzelne Attribut in der Klasse sein? – user2325247

+0

Nein, es gibt fast nie eine Notwendigkeit für die Verwendung von "! Wichtig". Stellen Sie nur sicher, dass die Selektoren oder spezifischer sind. –

+0

Die Selektoren sind spezifischer. Zum Beispiel: Das Element hat die Klasse "Sample Dropdown". In der externen CSS habe ich '.sample dropdown'. Es gibt einen Bootstrap-Dropdrop-Stil, der in die Seite eingebettet ist. Also, die Attribute in 'bootstrip dropdown' haben Vorrang vor' .sample dropdown' – user2325247