我只是了解 OOCSS 方法论。因为我认为它使一切更容易理解,我也在尝试使用 BEM 命名约定。
使用这个原则,我正在尝试为主页创建导航 - 基本上只是一个内联列表。由于 OOCSS 是关于抽象的,所以到目前为止我创建了这个 CSS:
.horizontal-list {
padding: 0;
list-style: none;
}
.horizontal-list__item {
display: inline;
}
我尽量不使用类名nav
,比如navigation
我第一次尝试在应用皮肤之前布局结构 - 这就是我的实际问题开始的地方。
要添加一些颜色,更改字体大小等,我可能只是将其添加为修饰符,例如.horizontal-list--nav
. 另一个修饰符可能是面包屑导航:.horizontal-list--breadcrumb
. 这样可以吗?
对我来说这是合乎逻辑的,因为 ie 文本颜色与列表本身是内联的无关,但列表是例如面包屑,但我不确定我是否从错误的方向接近这个东西。
此外,该列表的 HTML 看起来像这样:
<ul class="horizontal-list">
<li class="horizontal-list__item"><a href="#">Link</a></li>
<li class="horizontal-list__item"><a href="#">Link</a></li>
<li class="horizontal-list__item"><a href="#">Link</a></li>
</ul>
是的li
一个元素horizontal-list
,这很清楚。但是a
嵌套在 中的东西li
呢,我该如何标记呢?根据OOCSS原则,我不应该这样做
.horizontal-list__item a {
color: white;
}
正确的?但是添加一个类似的类在horizontal-list__item__item
某种程度上似乎也很错误。我该如何正确地做到这一点?