1

私は大規模なウェブサイトに取り組んでいます。CSS を BEM スタイルで記述することを検討していますが、これが実際に良い方法であるかどうかはわかりません。CSS はすべて継承に関するものですが、BEM ではそれが見られません。例えば:

.toolbar {
  &-btn {}  
}

VS

.toolbar {
  .btn {}
}

2 番目の例の .btn はグローバル .btn クラスから継承できますが、.toolbar-btn クラスはこれらのデフォルト プロパティを継承しません。そのため、多くの繰り返しプロパティを記述することになります。プロパティを継承しないのに、BEM はまったく再利用可能であると人々が言うのはなぜですか? 編集: 拡張機能をできるだけ使用しないようにしています。

4

1 に答える 1

1

.btnグローバル クラスとして定義する必要がある場合は、修飾子として使用する必要があります (バリエーション用)。

 .btn.btn -- プライマリ

 // また
 .my-cool-btn.btn--primary.btn--赤

新しい「Material Design Lite」フレームワークに対する Google のアプローチは次のとおりです。

 .mdl-layout__container //親要素

 --- .mdl-layout //ブロック

 ------ .mdl-layout__header //要素

 ------ .mdl-layout__content //要素

そして、.mdl-layout__header要素のいくつかの修飾子

// ローカル修飾子
.mdl-layout__header-row
.mdl-layout__header -- スクロール


// グローバル修飾子
.demo-header
.is-casting-shadow
.mdl-color--グレー-100
.mdl-color-text--グレー-800

彼らのリポジトリ とこのテンプレートの例をご覧になることを強くお勧めします

于 2015-08-07T09:20:33.590 に答える