收藏:如何用css滑动门制作有趣的按钮

这个技巧将教你如何用css做出漂亮的文本按钮,有活力的按钮将节省你很多制作图片的时间。当然不管这个按钮实不实用,起码可以让我们从中学到一些CSS的技巧!同时学习一下CSS的滑动门技术(sliding doors technique)。让我们一起看看效果

滑动门

为了让我们制作的按钮具有灵活性,我们必须要让背景图片自动适应按钮的文字的宽度,为此,我们要使用滑动门技术,将两张背景图片合并成一张背景图片。按钮将使用a标签和span标签,他们分别使用背景图片的不同部分,html代码是这样的:

  1. <a class="button" href="#"><span>search</span></a>

没有什么超乎寻常的事发生,对吗?我们需要设计出简单明了的按钮:

button

每张图将包含按钮的两个状态,既普通和按下。我们把两种状态的图片交替的垂直排列,这个css技巧可以不用任何javascript脚本来完成变化,下面我们将使用滑动门技术,为了让按钮自适应文字的宽度,我们将图片做的宽一些,比如300px,高24px:

span                   a

按钮样式

最后我们将用css把这一切整合起来:

  1. a.button {
  2.   background: transparent url('images/bg_button_a.gif') no-repeat scroll top right;
  3.   color:#444;
  4.   display: block;
  5.   float: left;
  6.   font: normal 12px arial, sans-serif;
  7.   height: 24px;
  8.   margin-right: 6px;
  9.   padding-right: 18px;
  10.   text-decoration: none;
  11. }
  12.  
  13. a.button span {
  14.   background: transparent url('images/bg_button_span.gif') no-repeat;
  15.   display: block;
  16.   line-height: 14px;
  17.   padding: 5px 0 5px 18px;
  18. }

注意 span的上下padding值分别是5px和5px,line-height是14px,加起来正好是按钮的高度24px。用不同的padding值,意味着就要设置不同的height。

现在我们已经做好了一个漂亮的按钮了,但是,当我们按下的时候他没有任何变化,让我们完成最终的效果:

  1. a.button:active {
  2.     background-position: bottom right;
  3.     color: #000;
  4.     outline: none; /* 去掉在Firefox下四周的虚线 */
  5. }
  6. a.button:active span {
  7.     background-position: bottom left;
  8.     padding: 6px 0 4px 18px; /* 让文字向下移1像素 */
  9. }

最后我们还得针对IE修改一下,因为在IE下不会返回按钮到正常状态,当按扭释放时,我们要强制此种行为,需要添加一点点的JavaScript标记:

  1. <a class="button" href="#" onclick="this.blur();"></a>

所有的都完成了,点击查看效果吧!

Share with Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网

相关文章本月热门点击排行

  • N/A
Post a comment 2008/10/31 – 13:502,562 Views
Post a comment | Trackback URL | RSS Comments 4 Comments
  1. 2008/10/31 at 14:44 | #1

    不错。学习了

  2. 2008/11/03 at 17:55 | #2

    滑动门看似简单,其实很难!!

  3. 2008/11/03 at 19:08 | #3

    @牛仔裤 是有些技巧在里面,想灵活运用是有点难! :grin:

  4. 2008/11/08 at 14:27 | #4

    http://www.sg1x.cn

Post a Comment

(必填)

(必填,有回复时方便邮件通知)

(可不填,填了方便回访)

Sharing technology, recording life