我经常遇到同样的问题,并且已经学会了选择 Option 2。
首先,你需要问自己为什么这两种风格是相互关联的:你设计的这两个元素是要始终以相同的方式设计,还是只是巧合,它们的风格相同?
例如,如果你决定你的链接不应该是灰色的,而是蓝色的,你可以让你的 ul 列表也变成蓝色吗?我的意思是:链接和列表是否相关?他们必须看起来总是一样的吗?或者只是发生在这种特殊情况下,它们是相同的?
此外,您需要注意班级的名称。
- 如果您将其称为,则说明
.boldGrey
您做错了,因为您的类名描述的是样式,而不是内容。
- 如果您将其称为
.secondary
,则说明您做得很好,因为您描述的是内容,而不是样式。在这种情况下,使用选项 1可以。
但最后,我总是选择 Option 2。尽管您将相同的样式连接到多个元素,但如果您改变主意,之后仍然可以轻松对其进行修改。我通常将共享相同属性的元素列表放在我的 CSS 顶部(就在重置下方)。然后,我为每个元素添加特定样式。
我的网站上的示例:
time, code, figcaption {
background:#f5f5f5;
border:1px solid #e9e9e9;
border-radius:2px;
color:#93a1a1;
font-size:11px;
padding:0 4px 1px;
white-space:nowrap;
}
然后,在下面,我有一些额外的样式code
:
code {
font-size:12px;
position:relative;
top:-2px;
}
在我设计这 3 个元素的样式时,我注意到我希望它们看起来一样。但不完全一样。所以我重新组合了他们所有的共同点,然后具体说明了他们的特别之处。
我可以为此使用一个课程吗?也许。但是我怎么称呼它呢?.greySmallBordered?.littleBlocks?.tag在看吗?很难想出一个只描述内容而不描述样式的名称。
所以我通常在我的选择器中列出多个元素,因为:
- 这是将 HTML 中的内容与 CSS 中的样式分开的最佳方式
- 它有助于为每个元素指定额外的样式