1

为什么我经常在常用库中看到.closed-dialogueand而不是and ?.open-dialogue.closed.dialogue.open.dialogue

每个元素一个类的问题

要使用第一种方法格式化所有对话,您已经需要选择器中的两个类。

每次您添加另一个差异时,fe 一些颜色,您将乘以选择器中的类数:.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 回答