Div mit externen Stylesheets?
Ich habe ein externes stylesheet (.css-Datei), die nicht in irgendeiner Weise verändert zu löschen. Jedoch muss ich zu diesem stylesheet anwenden, um ein einzelnes div und somit den Inhalt des div in meine bereits bestehende Webseite. Derzeit lese ich den Inhalt des stylesheet als text in ein leeres style-tag (mit .innerHTML) innerhalb der div, die ich brauche, um zu beeinflussen, aber noch wirkt sich auf die gesamte web-Seite, anstatt nur die einzelnen div. Könnte mir bitte jemand helfen mit diesem?
- CSS wirkt sich auf die ganze Seite. Der einzige Weg den ich kenne um zu isolieren, so dass es wirkt sich nur auf einen bestimmten Teil der Seite ist ein IFRAME-Element.
- So ein IFRAME innerhalb meiner div? Ich kann das tun, aber dann wie ich nur auf den IFRAME dann?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den IFRAME-Lösung funktioniert wie folgt:
In Ihrem Haupt-HTML-Datei, Sie haben Ihre DIV:
Stil, wie Sie es brauchen. Die divcontent.html die Datei sollte eine vollständige HTML-Datei, einschließlich der Inhalt des DIV-tag, und einen LINK mithilfe Ihrer externen stylesheet:
divcontent.html
Datei eigentlich HTML sein - es könnte eine beliebige Datei, die HTML-Konstrukte (z.B.: PHP, aspx, etc.). Die Antwort gibt Ihnen das Konzept - Sie haben die Anpassung an Ihre spezifischen Anforderungen.Wenn Sie arbeiten mit HTML5, Sie könnten versuchen, mit scoped styles. Sie könnten auch die CSS im div, dass es nur Auswirkungen auf seine Eltern:
<style scoped>
wird mehr unterstützt. Das folgende sehen: stackoverflow.com/a/45692033/5245952Dies hilft Ihnen viel:
http://css-tricks.com/saving-the-day-with-scoped-css/
Gilt nur Stil bis zu einem gewissen getrennte escope. Viel Glück!
IMHO besser als die iframe-Lösung..
Verwandte: Limit Umfang der externen css, um nur ein bestimmtes element?
<style scoped>
wird mehr unterstützt. Das folgende sehen: stackoverflow.com/a/45692033/5245952Schlage ich vor, lassen Sie die externe style-sheet, wie es ist, und erstellen Sie ein internes Stylesheet mit den Klassen, die Sie möchten aus dem externen stylesheet auf das eigene single-div und benennen Sie einfach und wenden diese umbenannt Klassen div. Die Umbenennung ist, da die Attribute dieser Klassen beeinflussen können Elemente, die bereits vorhandenen an die Seite von externen stylesheets.
Hoffe, das hilft.
Wenn Sie Zugriff auf server-side-scripting (z.B. PHP), können Sie ein Skript erstellen, das laden des externen Stylesheets und fügt ein Klasse name vor jeden Eintrag. Dann bewerben Sie diese Klasse, um Ihre DIV-tag. Also, wenn das CSS beinhaltet:
Würden Sie ändern, dass:
Format und Ihre DIV als
Würden Sie dann laden Sie das Skript als ein stylesheet, anstatt das externe stylesheet direkt.
Ich gehe davon aus, dass die style-Vorgaben innerhalb der externen Datei nicht enthalten sind, in Klassen oder IDs, aber sind Sie auch eine Decke Anpassungen tags wie
<p>
(und so kann es nicht sein eingeschlossen in Ihre Seite ein Header). Ihre div in einem<style scoped>
tag, und importieren Sie die .css-Datei gibt. Siehe: http://css-tricks.com/saving-the-day-with-scoped-css/Könnten Sie weisen eine CSS-Präfix, um das Ziel, die Abschnitt des Dokuments, die Sie wollen zu style.
scoped
ist eine gute Idee, aber hat der browser kompatibel Problem.Ich lösen dieses problem durch hinzufügen von Prä-Klasse vor allen Selektor in der css-Datei:
https://github.com/ericf/grunt-css-selectors