为什么我常常在常用的库中看到.closed-dialogue
和.open-dialogue
,而不是.closed.dialogue
和.open.dialogue
?
要使用第一种方法格式化所有对话,您需要在选择器中使用两个类。
每次添加另一个差异,f.e。一些颜色,您将乘以选择器中的类数:.warning-dialogue-closed, .error-dialogue-closed, .warning-dialogue-open, .error-dialogue-open
。
现在怎么可能是好的做法?这几乎难以维持!
你甚至无法在模块中分离你的代码,因为对话的基本选择器需要知道所有存在的对话!
通过连接多个类,代码将更短,更易于维护且更易于阅读:
.dialogue
格式化所有对话,无论你有多少不同。
.error.dialogue
和.warning.dialogue
会为这两种风格添加更改。 .open.dialogue
和.closed.dialogue
会处理其他差异。
您甚至可以使用另一个隔离模块来定义 big 和 small 对话框,基本模块甚至不需要了解它。
那么为什么我从未见过这个?
答案 0 :(得分:1)
您的方法存在的问题是它更可能与其他类冲突。
如果网页本身有其他一些不相关的open
课程,class="open dialog"
会选择该课程的规则并搞砸了。
这就是像jQuery UI这样的库倾向于为所有类添加前缀的唯一值。