Es ist weitaus problematischer, nicht gewünschte Stilregeln zu überschreiben als diese gar nicht erst zu erstellen.
Was genau ist daran problematisch?
Sinnigerweise sollte eine überschreibende Regel, wo und wie auch immer sie notiert wird, denselben Selektor verwenden.
Also hat sie dieselbe oder, im Falle von Selektor-Hacks, sogar eine höhere Spezifität. Da sie nach den allgemeinen Regeln geladen wird, überschreibt sie die vorherige.
Das Überschreiben von Deklarationen geht ebenfalls problemlos. Eigenschaften können auf ihre Initialwerte oder inherit gesetzt werden, wenn man sie ungeschehen machen will.
Das einzige Problem, das mir einfällt, ist das Triggern von hasLayout. Wenn irgendeine Eigenschaft hasLayout anschaltet, ist es in einer zweiten Regel m.W. nicht umkehrbar. (Habe dieses Wissen erfolgreich verdrängt – betrifft ja auch nur IE 6-7.)
Ich hatte noch nie Probleme beim Überschreiben von Styles für IEs. Es mag Gründe gegen separate Stylesheets geben, aber diesen halte ich für schwach.
Es erzeugt vielmehr für Konfusion, wenn es zwei Stylesheets gibt, die zu 99% gleich sind, aber im Detail voneinander abweichen. Diese Praxis habe ich noch nirgends gesehen.
Mathias