当前位置: 首页 > 图文教程 > 网页制作 > HTML/XHTML教程 > 基于Web标准的UI组件 — 菜单(1)
HTML/XHTML教程 中的 基于Web标准的UI组件 — 菜单(1)
菜单(Menu)是最基本最常见的网页UI元素之一,它的主要功能包括:
一个完整的菜单是一组菜单项(Menu Item)的集合,所有的菜单项在逻辑上应该是并列、平级的关系,它们指向相互之间没有隶属关系的内容或功能。
菜单项可以是链接,也可以是另一组菜单项的集合,即二级菜单(Sub-Menu)。
菜单项的文案设计 在XHTML的一大堆标签中,有一个被99.99%的Designer和99.98%的Developer忽视的标签:menu。它的用法与ul一样,内部可以包含一系列的li元素来构成菜单项,所以用它来构建菜单是再合适不过的了。如下:
<menu> <li><a href="/movie/">电影</a></li> <li><a href="/music/">音乐</a></li> <li><a href="/software/">软件</a></li></menu>查看效果(例1)
可能大多数人会用(或已经用了)ul来构建自己的菜单XHTML代码,这样也不错,但是现在你知道了有一个标签叫menu,赶快改过来吧(原装的好呀^_^)。
设计菜单项文案时,“简短”与“明了”是一对矛盾,在无法用几个字说得很明白的情况下,就需要“菜单项提示(Menu Item Tooltip)”了。当鼠标悬停在某个菜单项上的时候,会弹出相应的提示,对此菜单项的内容和功能作出更进一步的说明。
XHTML中的title属性就是用来提供这项改善可用性的功能:
<a href="/movie/" title="最新院线电影下载">电影</a>查看效果(例2)
最简单的菜单到目前为止我们写好了菜单的XHTML代码并考虑了可访问性和易用性方面的问题,但这当然还称不上一个可以拿得出手的菜单。不过也有人把这样的菜单拿出来用的,比如apache.org这个bt的技术组织@_@,下面咱就帮他们改个稍微好看点的菜单。
先把menu的缩进效果和li前面的点去掉,并定义一个合适的宽度:
menu{ margin:0; padding:0; list-style:none;
width:120px;}查看效果(例3)
再为菜单项设置盒模型风格,注意IE和Firefox/Opera之间在盒模型上的差异:
menu li{ /*高度20px*/ height:20px; /*定义每个菜单项之间的间隔,并用!important*/ /*解决IE与Gecko浏览器之间的盒模型差异*/ margin-bottom:4px !important; margin-bottom:2px;}接下来是最关键的一步,请仔细看注释。
menu a{ /*定义a为块级元素,方便用盒模型属性定义外观*/ display:block; /*定义尺寸*/ width:100%; height:20px; /*盒模型风格*/ background-color:F6F6F6; border:1px solid #DDD; /*文字样式*/ font:11px arial; text-decoration:none; /*文字垂直居中*/ line-height:20px; /*文字水平居中*/ text-align:center;}查看效果(例4)
接下来很轻松了,简单设置一下链接在四种状态下的样式,使菜单能够与鼠标覆盖事件交互:
menu a:link,menu a:visited{ color:#333;}menu a:hover,menu a:active{ color:#F50;}查看效果(例5)
也可以把鼠标效果做得更明显一些,比如变化一下背景色:
menu a:hover,menu a:active{ background-color:#FFEFE6; border:1px solid #F60;}查看效果(例6)
横向的菜单制作横向菜单的方法大致有两种:浮动与绝对定位。
浮动法的思想很简单:让每一个菜单项都向左浮动,最终排成一横排。我们只需对上面的CSS做一些小小的改动就
评论 (0) All