2017-08-30 9 views
0

Hin und wieder wird eine CSS-Regel ignoriert, obwohl sie im geladenen Stylesheet korrekt definiert ist und korrekt auf eine Klasse ausgerichtet ist, die offensichtlich im Markup enthalten ist. Ist jemand darüber gestolpert und kann jemand erklären, was vor sich geht?Bestimmte CSS-Klasse wird ignoriert

Sie werden nicht in der Lage sein, das Problem zu reproduzieren, aber bedenken Sie die folgenden, eingefügt von Markup/SCSS:

.test-footer { 
 
\t display: none; 
 
\t background: red !important; \t \t 
 
} 
 
\t 
 
.test-footer { 
 
\t display: none; 
 
}
<footer class="test-footer"></footer>

Die obersten Regeln tat nichts (Ich habe den roten wichtig! Linie, nur um sicher zu sein, dass es nicht überschrieben wurde). Dann, ohne etwas anderes zu ändern, fügte ich die zweite, identische Regel hinzu, die ohne Problem geehrt wurde.

Ich habe das jetzt ein paar Mal erlebt - nicht so oft, dass es in meine Liste der Dinge eingetragen ist, nach denen css sich benimmt, aber oft genug über das letzte Jahr, das ich bemerkt habe.

Ich benutze Coda 2 und arbeite an einem Mac mit OSX El Capitan. Außerdem verwende ich das Coda Sass Plugin zum kompilieren.

Das Verhalten war in allen Browsern konsistent, und die Bearbeitung anderer Teile des Stylesheets führte zu den erwarteten Ergebnissen. Wie oben erwähnt, überprüfte ich, und die korrekte CSS war die ganze Zeit da - ein Teil davon wurde einfach ignoriert.

Meine Lösung sollte nicht funktionieren, also warum? Kommen Sie dazu, das Problem sollte nicht von vorneherein entstehen, also warum?

Update:

Ich versteckte Charaktere aktiviert, um zu sehen, ob sie die Ursache sein könnte, wie Ruud Helderman unten vorgeschlagen, aber ich fand nichts. Am Ende musste ich es liegen lassen. Ich löste mein Problem schließlich, obwohl die "Lösung" ein magischer Zufall war, oder vielmehr das Problem war, und die Frage wurde ebenso aus intellektueller Neugier wie alles andere gestellt. Ich lasse die Frage für jetzt unbeantwortet und denke, dass, wenn und wenn es wieder auftritt, ich mit irgendwelchen Ergebnissen aktualisieren werde.

+0

Was erwarten Sie zu passieren, die nicht passiert .. Sie einstellen Anzeige: keine .. so Fußzeile ist nicht sichtbar ..? –

+0

Wie ich schon sagte, Sie werden das nicht reproduzieren können. In meinem Projekt war diese Fußzeile trotz der ersten Regel sichtbar: Es brauchte die Duplikatregel, um die Fußzeile zu verbergen. – rigsvaaben

+0

Löschen Sie Ihren Browser-Cache und den Sass-Cache, den der Sass-Pre-Compiler verwendet? –

Antwort

0

Meine einzige Erfahrung, die kommt irgendwo in der Nähe, was Sie beschreiben, ist ein Syntaxfehler im Stylesheet verursacht alle nachfolgenden Regeln ignoriert werden. Regeln, die der fehlerhaften Regel vorausgehen, wären immer noch wirksam. Eine andere Möglichkeit könnte das Vorhandensein eines unsichtbaren Zeichens sein (z. B. U+200B); Versuchen Sie, Ihren Texteditor so zu konfigurieren, dass nicht druckbare Zeichen angezeigt werden.

+0

Das ist eine interessante Möglichkeit.Ich vermutete, dass etwas in dem Editor passiert, den ich benutze, aber da das geladene CSS richtig aussah, habe ich nicht weiter untersucht. Ich muss experimentieren. Vielen Dank! – rigsvaaben