私は現在、ニコールサリバンのOOCSSグリッドモジュールのバリエーションを詳しく説明しています。これは、直系の子孫のレイアウトを決定するために単一のコンテナクラスのみを必要とします。これには、CSS3をサポートするブラウザーでのみ機能するという警告があります。
違いの例を次に示します。
バニラOOCSSグリッドルール:
.unit1of4 {
width: 25%;
}
私の縮小グリッドルール:
.line > :nth-child(1):nth-last-child(4),
.line > :nth-child(2):nth-last-child(3),
.line > :nth-child(3):nth-last-child(2) {
width:25%;
}
もう1つの重要な注意点は、要素の小数サイズが兄弟の数によってのみ決定されるという仮定です。これがこのコードの重要なポイントです(あちこちで明示的なサイズなしでよりスリムなHTMLを有効にするため)が、必要に応じて例外があります。不均衡な幅を持つこと。
セレクターの特殊性のため、OOCSSモジュールを単純に元に戻すことはできません。HTMLでunitXofY
クラスを指定することは、デフォルトの仮定に優先するために特別に行われますが、実際には、セレクターはより強力であり、指定されたクラスを常にオーバーライドします。 。
私が探しているのは、特異性の実際的な効果を制限することなく、これらのセレクターに取って代わる最も簡単な、または最もエレガントな方法です。つまり、クラス以外の選択された要素について、常に正しいとは限らないという仮定をしてはなりません。