所以,我一直在“收集”CSS菜单(另一个术语可能是“借鉴”,另一个可能是“厚颜无耻地抄袭”),以从中学习并在自己的项目中重用其中的某些精华。
作为一个老派的HTML纯粹主义者,我喜欢样式化的<ul>
和<ol>
的想法,更好的菜单和选项卡界面往往使用这种方法,出于可访问性或语义合理性等原因。我主要喜欢这种方法,因为它使我的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进行样式和悬停效果。