西红柿爱番茄

Feed Rss

重构一个简单的导航

06.08.2010, (X)HTML, CSS, by .

昨晚在浏览Delicious网站的时候,又看到了这种样式的导航样式:

之前一直很想做这样的一个导航,可是苦思都不知道良方,还一直认为这需要几个背景图片,着实复杂;还有hover效果,更是会难些,而且有兼容性问题。之后在FF和IE6下测试了下Delicious的兼容性效果,它在ie6下的样式,使用了普通的背景样式,没有上面所看到的折角效果。

之后看了下它的背景图片,一下子豁然开朗了,关键在于使用负margin来实现即可。下面是我实现的样式截图:

而且在兼容性和代码方面都有所改善。在IE6下也可以实现折角的效果,但是没有hover效果。而在Delicious里是在超链接a标签下嵌套了span标签,在a:hover伪类下来处理span的背景变换。而我直接在li标签中使用:hover来处理鼠标hover的背景切换,代码更加简洁了点,并且通过hack来解决ie6下兼容性问题(Updates:因为把:hover写在了li标签上,所以可以直接去掉hack来兼容ie6的css样式,也能做到稳步退化的效果)。

具体的CSS样式和背景图片可以浏览《折角导航栏效果》页面,使用firebug等工具查看页面源码。

重构一个简单的导航 有 3 条回应

  1. relative后位移也很巧妙啊

  2. 2010-06-09 在 11:33 Supersha

    我是结合relative移动和负margin了

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>