warum mein css code funktioniert nicht im vuejs?
Ich habe Probleme mit css in VueJs. Sorry für die schlechte Beschreibung, aber ich habe keine Ahnung was ich falsch mache.
Mein css in style scoped funktioniert in der Regel Prima in vuejs, kann ich normal die Adresse idis und Klassen.
Das problem ist, wenn ich ändern möchten, zum Beispiel mit dem Wert der internen css eines Elements vuetify Rahmen, oder wysiwyg-editor. Ich verstehe nicht, weil auf codepen funktioniert alles einwandfrei. Zum Beispiel hier, ich werde Polsterung der wysiwig-editor auf 0 und es funktioniert einfach (im codepen):
Vorlage:
<div class="container">
<div id="editor-container">
</div>
</div>
Skript
var quill = new Quill('#editor-container', {
modules: {
toolbar: [
[{ header: [1, 2, false] }],
['bold', 'italic', 'underline'],
['image', 'code-block']
]
},
placeholder: 'Compose the most wonderful and amazing epic you could ever imagine!',
theme: 'snow' //or 'bubble'
});
Stil
.ql-editor {
padding: 0!important;
}
Auf meine vuejs SPA ich bin das einfügen der genau die gleichen css-code und es tut sich nix. Ich bin in der rechten Komponente auf richtigen element. In meine Konsole, wenn ich dabei bin inspizieren - ich sehe Eigenschaften .q1-editor als Polsterung 12px etc. Also nix verändert in meiner website 🙁
Tut mir Leid für die schlechte Erklärung - css ist nicht meine primäre Sprache.
Vielleicht jemand, der mehr Erfahrung mit css haben Sie eine Idee, was ich falsch mache.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Eine Möglichkeit
Verwenden
deep
Selektor in derscoped
Stile:.container >>> .ql-editor
.Wäre dies erzeugt so etwas wie:
Du kannst mehr darüber hier Lesen: https://vue-loader.vuejs.org/guide/scoped-css.html#deep-selectors
Anderen Weg
Nicht verwenden
scope
auf Ihrestyle
tag.Erklärung
Wenn Sie
scoped
auf style-tags in .vue-Dateien, die es fügt ein Attribut-Bezeichner, um jeder deiner CSS-Selektoren. Wenn Vue erzeugt den HTML-Code für die Komponente fügt er das Attribut auf HTML, so dass die Auswahlen übereinstimmen. Daquill
wird die Erzeugung des DOM für dieses plugin nicht, Vue, die Auswahlen nicht übereinstimmen.Die generierte CSS sieht wie folgt aus:
aber das element mit der Klasse
ql-editor
hat nicht so Aussehen, da Vue hat nicht generiert, so dass es nicht übereinstimmt:sieht es nur so:
Was Sie tun können, ist, mehrere
<style>
- tags in Ihre Vue-Datei. Diese Weise können Sie halten die scoped styles, die sehr nützlich sind und nur über die unbedingt nötig ist, Globale Stile als gut.Ich würde versuchen, halten Sie die Selektoren im globalen Stil so einzigartig wie möglich, damit Sie nicht Auslaufen. Sie können hinzufügen, ein Elternteil rund um die Redaktion und tun Sie etwas wie:
.parent-specific-class .ql-editor {}
im globalen Stil.<div id="editor-container" class="foo"></div>
dann.foo .ql-editor
im globalen (oder vielleicht.foo.ql-editor
, nicht sicher, was Feder hat, mit der element -) aber das sollte Euch in der Nähe.Was mir passiert ist war, dass ich nicht auch das Ende
</style>
tag, eine Sache wie die, die Sie brechen kann, so stellen Sie sicher, überprüfen Sie Ihre vue-Datei.Stellen Sie sicher, dass Sie nicht vergessen, gehören die .css-Datei gebaut von webpack oder ähnliches!