所以,我已经“收集”CSS 菜单有一段时间了(另一个术语是“借用”,另一个是“公然抄袭”),向他们学习并可能重用我自己的一些轻率项目。
作为一个老式的 HTML 纯粹主义者,我喜欢 styled <ul>
s 和<ol>
s 的想法,更好的菜单和选项卡界面倾向于使用这种方法,出于可访问性或语义健全性或任何原因。我主要喜欢这种方法,因为它使我的 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>
,一些使用不同的词 than current
,一些将current
类附加到<a>
标签而不是<li>
,还有一些省略了内部<span>
。每个人似乎都有自己的方式来做菜单标记,只是有点不同。
无论如何,在修改了很多菜单之后,以上是我想出的,但我试图弄清楚是否有一个实际建立的最佳实践。我想在某个时候建立一个简单的 CSS 菜单铸造厂,在继续之前获得一些关于标记的输入会很好。
编辑:问题不在于 Javascript 菜单。我知道那里有出色的脚本菜单,它们允许您拥有子菜单、更高级的动画和悬停时间、快捷键、阴影和其他一切。但是 90% 的菜单不需要这些功能,使用 CSS 来设置样式和悬停效果会更好。