css自定义导航、按钮样式

时间:2009年04月01日作者:愚人码头查看次数:15,045 views评论次数:7

在网上看到一个用css自定义“按钮”样式,说是按钮其实是链接,用链接模拟的按钮,这样我们的按钮就可以很丰富了。我们可以用这个来做网站导航,连接,按钮等等。
不过方式有一个很不好的地方就是<a>标签里套了一个空的<span>,从html语义化的角度来说,这个是不应该的。
先看看效果吧:

2009-03-31_231723

一.要使用的图片,如图:如果你想修改颜色,可以下载PSD:sliding-door-psd

bg

二.实现原理,如图:

concept

  1.  <li><a href=”#” title=”products”><span></span>WEB前端开发</a></li>

一个容器里放一个<a>(链接),<a>(链接)里放<span>,这里的<span>主要是放左边的圆角图片,<a>(链接)是放右边的图片,用来自适应按钮的背景图片,这里提示一点,确保你的图片足够宽,而不被文字撑破。
 

三.HTML代码

 <ul class=”green”>
    <li><a href=”#” title=”home” >绿色的按钮</a></li>
    <li><a href=”#” title=”products”>项目</a></li>
    <li><a href=”#” title=”blog”>WEB前端开发博客</a></li>
    <li><a href=”#” title=”contact”>留言板</a></li>
</ul>

这里用了一个<ul>是为了创建一个列表,然后在<a>里面加入<span></span>就是为了加左边的背景图片;

<ul class=”green”>
    <li><a href=”#” title=”home” class=”current”><span></span>绿色的按钮</a></li>
    <li><a href=”#” title=”products”><span></span>项目</a></li>
    <li><a href=”#” title=”blog”><span></span>WEB前端开发博客</a></li>
    <li><a href=”#” title=”contact”><span></span>留言板</a></li>
</ul>

第一个按钮用了class=”current”是表示不同形式的呈现按钮。

四.CSS样式

1.ul样式:
ul.green { padding: 5px; margin: 10px 0; list-style: none; background-color: #fff; border-bottom: 1px solid #e7e7e7; float: left; clear: left;}

2.li样式:
ul.green li {float: left;}

3.a样式:
ul.green li a {float: left; text-decoration: none; color: #ccc; padding: 4px 15px 0 0; margin-right: 8px; font: 900 14px “Arial”, Helvetica, sans-serif;}

4.span样式:
ul.green li a span { float: left; padding-right: 15px; display: block; margin-top: -4px; height: 24px;}

5.hover鼠标记过样式:
ul.green li a:hover { color: #576d07; background: url(images/green.png) no-repeat top right; }
ul.green li a:hover span { background: url(images/green.png) no-repeat top left;}

6.class=”current”是表示不同形式的呈现按钮:
ul.green li a.current {background: url(images/green.png) no-repeat top right;color: #576d07;}
ul.green li a.current span {background: url(images/green.png) no-repeat top left;}
ul.green li a.current:hover {background: url(images/blue.png) no-repeat top right;color: #0d5f83;}
ul.green li a.current:hover span {background: url(images/blue.png) no-repeat top left;}

 

查看整个demo:http://www.css88.com/demo/css-sliding/css-sliding-door.html

查看原文: http://kailoon.com/css-sliding-door-using-only-1-image/

声明: 本文采用 BY-NC-SA 协议进行授权 | WEB前端开发
转载请注明转自《css自定义导航、按钮样式

如果你读了我的文章,觉得有帮助: 说明
标签:,分类:html+css
7条评论
  1. sammy@龍留言于:2009年04月01日09:44

    調整頁面大小的時候,列表會爛掉。

    [回复]

  2. weilaixu留言于:2009年04月01日20:59

    看到你这个我想起来我年前布置给绣才的作业了。呃,明天问问!

    [回复]

  3. Monkeybeercc留言于:2009年04月02日17:24

    滑动门罢。
    这个效果是不错的,不过应用了向左浮动,要是想居中的话..赫赫..

    [回复]

  4. 啄米鸟留言于:2009年04月06日11:03

    这样不就行了?利用PADDING和MARGIN出来
    WEB前端开发

    [回复]

  5. 啄米鸟留言于:2009年04月06日11:05

    转义~~~
    <li><a href=”#” title=”products”><span>WEB前端开发</span></a></li>

    [回复]

  6. pengkai留言于:2010年07月15日12:42

    啄米鸟正解,博主赶快改正过来吧,不然有同学被误了。

    :)

    [回复]

  7. pengkai留言于:2010年07月15日12:44

    靠,竟然是一年以前的被随机出来了。不过还是建议要改正一下为好。

    [回复]

发表评论

*

*