Styled button with sliding doors

推荐朋友去看看冰仔写的CSS扫盲一文,无论是beginner还是Guru,我想多看这样的文章不会有什么坏处的。我近期陆续写一些CSS小技巧,相信其中很多都是鲜为人知的,但同样目标群体还是针对所有人。

看烦了默认的按钮样式吗?我们可利用滑动门(Sliding doors)来实现替换传统button样式,我们先看看在不同系统下默认的按钮样式:

Classical buttons

实现的最终效果:

第一步,在html加入下面代码:(假设你会使用copy & paste)

<button value="submit" class="submitBtn"><span>I'm a button.</span></button>

第二步,在你的CSS文件中加入如下部分:

button {border:0; cursor:pointer; font-weight:bold; padding:0 20px 0 0; text-align:center;width:auto; overflow:visible;}
button span {position:relative; display:block; white-space:nowrap; padding:0 0 0 20px;}
button.submitBtn {background:url(images/btn_blue_right.gif) right no-repeat; font-size:1.2em;}
button.submitBtn span {height:30px; line-height:30px;background:url(images/btn_blue_left.gif) left no-repeat;color:#fff;}
button.submitBtn:hover {background:url(images/btn_blue_right_hover.gif) right no-repeat;}
button.submitBtn:hover span {background:url(images/btn_blue_left_hover.gif) left no-repeat;}

其中width:auto; overflow:visible;是针对在IE下按钮偏移问题作的修正,不影响在FF下的效果。非常遗憾的是,在IE下如要有hover的效果,必须增加额外的Javascript才能实现

第三步,将本文提供的压缩包中的4幅图片放在你的images文件夹中,如果代码没有放错的话,现打开浏览器便可看到了。这个效果的实现就完成了,你可以根据自己的需要来替换这4幅图片。

下载此实例
(5KB,Zip格式,已载 899 次)

7 Commentsso far, Leave a comment or Pingback.

  1. 非常漂亮的按钮,我也该换一下默认的按钮样式啦:)

    另外,谢谢你推荐我的文章!^_^

    北极冰仔 // Aug 6th, 2007

  2. 试试看这个…

    Jvstin // Aug 6th, 2007

  3. 感觉应用进来还挺强的!
    @冰仔: 客气了!

    yichi // Aug 6th, 2007

  4. 很喜欢你的样式。。。。

    能交个朋友吗?我是新手。。。菜虫。。。 请指教~ 大人~

    我的QQ : 519509868

    crorts // Jan 6th, 2008

  5. 在我的项目中使用的是服务器控件asp:Button,该如何使用您说的这个方法呢?我现在在CSS中写了两个类,即:
    .ButtonStyle {}
    .ButtonStyle:hover {}
    页面中使用时是可以显示正常状态了,但hover时还是没有。请教~~~

    Justin // Jan 15th, 2008

  6. @Justin, 具体加我GT,线上聊。不过似乎在IE下设置后form无法提交,所以后来我也取消使用了

    yichi // Jan 20th, 2008

Trackbacks

Reply to “Styled button with sliding doors”