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:https://www.html.cn/demo/css-sliding/css-sliding-door.html

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

赞(0) 打赏
未经允许不得转载:WEB前端开发 » css自定义导航、按钮样式

评论 8

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #-49

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

    sammy@龍10年前 (2009-04-01)回复
  2. #-48

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

    weilaixu10年前 (2009-04-01)回复
  3. #-47

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

    Monkeybeercc10年前 (2009-04-02)回复
  4. #-46

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

    啄米鸟10年前 (2009-04-06)回复
  5. #-45

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

    啄米鸟10年前 (2009-04-06)回复
  6. #-44

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

    :)

    pengkai9年前 (2010-07-15)回复
  7. #-43

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

    pengkai9年前 (2010-07-15)回复
  8. #-42

    可以使用在线按钮样式生成器:http://buttoncssgenerator.com在线生成按钮css,支持各大主流浏览器,款式随心定制,也有丰富的示例可以选择

    coosummer3年前 (2015-09-15)回复

前端开发相关广告投放 更专业 更精准

联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏