Amazon Dies In Darkness
Amazon Dies In Darkness

Reputation: 5823

Why are these CSS curly braces not matching?

I am debugging a large piece of CSS code. I have narrowed the issue down to just a few lines. I've been staring at those lines for far too long, without seeing any issue:

@-moz-document url(chrome://browser/content/browser.xul) {

#anyidentifier:not(.off) .anything {
  background-color: #222 !important; }
#anyidentifier:not(.on) .anything {
  background-color: #333 !important; }

}

According to Notepad++, and how Firefox is processing the CSS, the first open-curly-brace is matching with the first close-curly-brace. It should be matching with the last close-curly-brace.

What am I not seeing?

Or is this a bug in Notepad++, and possibly Mozilla's Firefox?

Upvotes: 0

Views: 534

Answers (1)

BoltClock
BoltClock

Reputation: 723954

Notepad++ only recognizes certain known at-rules, and considers unrecognized at-rules to be invalid CSS, just like browsers do. It's not clear if this should be considered a bug with the syntax highlighting in the Scintilla component, however.

This won't be an issue with Firefox since Notepad++ has nothing to do with the browser. @-moz-document is a Firefox-specific at-rule, and... that's about it.

(Yes, there was a @document at-rule that has since been punted to level 4, but whichever spec it's in doesn't change the fact that prefixed at-rules are non-standard; you see the same issue with @-moz-keyframes and all other prefixes for example.)

Upvotes: 2

Related Questions