カスケーディングって

スタイルシートを編集していて、画面に予想外の設定がされてしまう現象に遭遇。よくよくスタイルを確認すると、複数のルールで「詳細度」が同じになっている。
<a> <b> <c> </c> </b> </a>と言う構造で「b c」というルールと「a c」というルールが存在していた。こういうとき「b c」の方が構造上近いルールだからそっちが適用されるのかとか思ってしまうが、さにあらず。詳細度が同じなら適用されるのは「スタイルシートないで後に現れたルール」であるらしい。つまり、「詳細度が同じになった時点でスタイルシート設計としては失敗」と考えるべきなのか。そもそもa b cというルールにしておけば問題ないわけで。
しかし気になったことが。詳細度は「idセレクタ、クラス・属性セレクタ、要素の数」で決まる。「子孫セレクタ」も「子セレクタ」も詳細度は一緒。うーん、「a c」よりも「b > c」のほうが「詳細なルール」であるような気がするが。