下面的那些 "结构" 更加适应于上图的场景呢? 或许还有更好的方法?
1. 有着较多的镶嵌.
<nav class="main-menu">
<ul class="music-menu">
<li class="music-menu__item">
<span class="music-menu__heading"></span>
<ul class="music-menu__children">
<li><a href="" class="music-menu__children__item"></a></li>
<li><a href="" class="music-menu__children__item"></a></li>
<li><a href="" class="music-menu__children__item"></a></li>
</ul>
</li>
<li class="music-menu__item">
<span class="music-menu__heading"></span>
<ul class="music-menu__children">
<li><a href="" class="music-menu__children__item"></a></li>
<li><a href="" class="music-menu__children__item"></a></li>
<li><a href="" class="music-menu__children__item"></a></li>
</ul>
</li>
</ul>
</nav>
2. 看起来很清爽, 代码重用很方便.
<nav class="main-nav">
<span class="main-nav__heading"></span>
<ul id="language-menu" class="music-menu">
<li><a href="" class="music-menu__item"></a></li>
<li><a href="" class="music-menu__item"></a></li>
<li><a href="" class="music-menu__item"></a></li>
</ul>
<span class="main-nav__heading"></span>
<ul id="genre-menu" class="music-menu">
<li><a href="" class="music-menu__item"></a></li>
<li><a href="" class="music-menu__item"></a></li>
<li><a href="" class="music-menu__item"></a></li>
</ul>
</nav>
3. 另外一种想法.
<nav class="main-nav">
<ul id="language-menu" class="music-menu">
<li><span class="music-menu__heading"></span></li>
<li><a href="" class="music-menu__item"></a></li>
<li><a href="" class="music-menu__item"></a></li>
<li><a href="" class="music-menu__item"></a></li>
</ul>
<ul id="genre-menu" class="music-menu">
<li><span class="music-menu__heading"></span></li>
<li><a href="" class="music-menu__item"></a></li>
<li><a href="" class="music-menu__item"></a></li>
<li><a href="" class="music-menu__item"></a></li>
</ul>
</nav>
.main-nav__heading
并不是属于导航的一部分, 而是子导航的标题.
如果是要增加一个标题项的话,最后一个应该是不可取的,虽然能实现,不过不推荐。
如果两个导航栏之间有联系的话推荐用第一种,如果没有联系的话推荐用第二种,需要补充的是建议用
section
或者别的什么标签包裹住每一个导航栏的标题和内容。