Hallo Andreas,
details:not(open) und details:not([open]) funktioniert beides.
Aber m.E. aus unterschiedlichen Gründen.
details:not(open)
heißt: ein details-Element, das kein open-Element ist.
Das trifft auf jedes details-Element zu.
details:not([open])
heißt: ein details-Element, das kein open-Attribut hat.
Solange es nur die beiden Regeln
details:not(open) {...} details[open] {...}
in dieser Reihenfolge gibt, sieht es so aus, als ob es dasselbe wäre wie
details:not([open]) {...} details[open] {...}
ich habe die beiden Anweisungen mal vertauscht und im FF und im Chrome keinen Unterschied bemerkt.
Gruß
Jürgen