所以,我已经收集了一段时间的CSS菜单(另一个术语可能是借用,另一个可能是明目张胆地剽窃),以从中学习,并在自己的项目中潜在地重用其中的某些精髓。
作为一位老派的HTML纯粹主义者,我喜欢有样式的
- 和
- 的想法,而更好的菜单和选项卡界面往往使用这种方法,这是为了可访问性或语义准确性或任何原因。我主要喜欢这种方法,因为它使我的HTML源代码保持干净整洁。
现在,我已经重构了我的CSS菜单集合,以适应我从最灵活的示例中推断出的一种主要标记模式,如CSS Zen Garden所示。它看起来像这样:
<div class="menustyle">
<ul>
<li class="current"><a href="#" title="Page 1"><span>Home</span></a></li>
<li><a href="#" title="Page 2"><span>Toys</span></a></li>
<li><a href="#" title="Page 3"><span>About Us</span></a></li>
<li><a href="#" title="Page 4"><span>Contact</span></a></li>
</ul>
</div>
<span class="clearit" /><br />
在需要清除的菜单后使用 clearit 段落来设置clear:both
。
无论如何,我已经在许多网站上看到这种标记的变种,有些带有额外的包含<div>
,有些使用不同于current
的单词,有些将current
类附加到<a>
标签而不是<li>
,有些则省略了内部的<span>
。每个人似乎都有自己微微不同的菜单标记方式。
无论如何,在尝试了很多菜单后,我已经得出了上面的结果,不过我正在努力找出是否有实际建立的最佳实践方法。我想在某个时候建立一个简单的CSS菜单铸造厂,然后在继续之前获得有关标记的输入会很不错。
编辑:问题不是关于Javascript菜单。我知道有很棒的脚本菜单,它们可以有子菜单、更高级的动画和悬停时间、快捷键、下拉阴影和其他所有东西。但是90%的菜单不需要这些功能,最好使用CSS进行样式和悬停效果。