滚滚长江东流水,黄河入海不复返

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

这是一个完全用CSS实现的中英文双语导航菜单,无脚本和图片,初始时,菜单语言是英文,当鼠标悬停在菜单上时,其变成中文,当然你也可以反过来做。

实现原理:

XHTML

<ul id="nav">
<li><a class="bi" href="index.html">Home<span>首 页</span></a></li>
</ul>

从上面代码可以看出,中文放在 span 标签里,关键是需要在初始时,使其的属性不可见。

CSS

.bi{
	position: relative;
	z-index: 0;
}

.bi:hover{
	z-index: 99;
}

.bi:hover span{
	visibility: visible;
	top: 0;
	left: 0;
	cursor: pointer;
}

.bi span{
	position: absolute;
	left: -999em;
	visibility: hidden;
}

#nav li a,.bi:hover span{
	line-height: 20px;
	text-decoration: none;
	background: #DDDDDD;
	color: #666666;
	display: block;
	width: 80px;
	text-align: center;
}

#nav li a:hover,.bi:hover span{
	color: #FFFFFF;
	background: #DC4E1B;
}

.bi:hover span{
	padding-top: 2px;
}


链接的属性是相对定位,那在此标签里的元素可将其作为参照点。 在 span 元素里的中文因其设定了不可见,所以在初始状态时,只能显示英文。而当鼠标悬停在菜单上时, span 元素里的设定变为可见,Z轴为99 ,覆盖在英文上面,从而实现了语言文字的转换。

缺点:因为中英文字的长度关系,不能实现自适应宽度,只能固定宽度。

最终效果

posted on 2006-12-25 14:50  Steveson  阅读(577)  评论(0编辑  收藏  举报