css自定义导航、按钮样式

愚人码头 撰写  

在网上看到一个用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/

更多相关链接:


相关日志:

刚刚被浏览过的文章:


7 条评论

  1. sammy@龍
    发表了 2009年04月1日 在 9:44 上午 | 永久链接

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

  2. 发表了 2009年04月1日 在 8:59 下午 | 永久链接

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

  3. 发表了 2009年04月2日 在 5:24 下午 | 永久链接

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

  4. 啄米鸟
    发表了 2009年04月6日 在 11:03 上午 | 永久链接

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

  5. 啄米鸟
    发表了 2009年04月6日 在 11:05 上午 | 永久链接

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

  6. 发表了 2010年07月15日 在 12:42 下午 | 永久链接

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

    :)

  7. 发表了 2010年07月15日 在 12:44 下午 | 永久链接

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

发表评论

Your email is never shared. 标记为 * 的为必填项目

*
*

评论时,昵称或个人网站填的是商业网站的,一概标记为垃圾评论不予显示,并设置相关网站为过滤关键字,提交到google、百度垃圾网站数据库