1

andの代わりに、一般的に使用されるライブラリで.closed-dialogueand.open-dialogueが頻繁に表示されるのはなぜですか?.closed.dialogue.open.dialogue

要素ごとに単一のクラスの問題

最初のアプローチですべてのダイアログをフォーマットするには、セレクターに既に 2 つのクラスが必要です。

別の違いを追加するたびに、いくつかの色を追加すると、セレクターのクラスの数が乗算されます.warning-dialogue-closed, .error-dialogue-closed, .warning-dialogue-open, .error-dialogue-open

では、それはどのように良い習慣になるのでしょうか? これはほとんど維持できません!

ダイアログの基本的なセレクターは、存在するすべてのダイアログを認識する必要があるため、コードをモジュールに分割することさえできませんでした。

要素ごとにいくつかのクラスがこれを解決します

いくつかのクラスを連結することで、コードはより短くなり、保守しやすくなり、読みやすくなります。

.dialogueさまざまなダイアログがいくつあっても、すべてのダイアログをフォーマットします。

.error.dialogue.warning.dialogueどちらのフレーバーにも変更を加えます。.open.dialogueそして.closed.dialogue、他の違いを処理します。

大小のダイアログを定義する別の独立したモジュールを持つこともでき、基本モジュールはそれについて知る必要さえありません。

では、なぜこれを見たことがないのでしょうか。

4

1 に答える 1

1

あなたのアプローチの問題は、他のクラスと競合する可能性が高いことです。

ページ自体に関連のない他のopenクラスがある場合、class="open dialog"はそのクラスのルールを取得してめちゃくちゃになります。

これが、jQuery UI のようなライブラリがすべてのクラスに一意の値をプレフィックスとして付ける傾向がある理由です。

于 2013-07-19T15:17:06.800 に答える