交互设计中心-72色

交互设计中心 | 用户体验 | 优化

button难看?用css让她漂亮起来

2010年4月30日 | 分类:DIV+CSS | 评论:1 | 引用:0 | | Tags:button  样式  css  漂亮  

button样式真的不是那么好看,而且在不同浏览器里面还不一样的显示方式,让我们这些做web的很头痛,想让他漂亮起来总是不是那么方便,现在72色就写写css的方法,就当给大家抛砖引玉,让大家行动起来让讨厌的button边的可爱点。

先预览一下把:button样式

button结构

我是用a标签和span的组合模仿button,不能提交?不要急,后面会给出怎么能提交,而且是点击的时候变样子,完全模仿button的状态。

<a class="button" href="http://www.72color.com/" ><span>按钮|72色</span></a>

直接给出所有的html和css部分,省的大家再去组合了。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> button漂亮的样式|72色
http://www.72color.com </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
  <style type="text/css"> 
  a.button {    
   background: transparent url('bg_button_a.gif') no-repeat scroll top right;    
   color: #444;    
   display: block;    
   float: left;     /*为什么居左,主要是在a加上了“display: block;”属性以后宽度就会变成正行那么长*/
   font: normal 12px arial, sans-serif;    
   height: 24px;    
   margin-right: 6px;    
   padding-right: 18px; /* 让里面的span的右边空出18px,防止span的背景挡住a的背景 */    
   text-decoration: none;
  } 
  a.button span {    
   background: transparent url('bg_button_div.gif') no-repeat;    
   display: block;    
   line-height: 14px;    
   padding: 5px 0 5px 18px;
  } 
  a.button:active {
   background-position: bottom right;    
   color: #000;    
   outline: none; /* Firefox 里面的边框去掉*/

  a.button:active span {    
   background-position: bottom left;    
   padding: 6px 0 4px 18px; /* 模仿button点击时候文字往下去的样子 */
  }
  </style>
 </HEAD>

 <BODY>
  <a class="button" href="
http://www.72color.com/" onclick="this.blur(); return false;"><span>按钮|72色</span></a>
 </BODY>
</HTML>

 

css里面的“a.button:active”部分就是模仿鼠标点击的时候样子,让背景改变同时文字向下来了一点。css部分已经注释了一些要点部分,这里就不多说了。

“onclick="this.blur(); return false;“这个js是做什么的?

主要是在IE下点击了这个button以后,样式不变回初始状态,要用到this.blur();这个js让button失去焦点 ,就变回初始状态的样子了。
return false 这个就是让button点击后不跳转。主要是为了这个事例效果更明显,实际使用时候要去掉的。

那么如果要像button一样提交怎么办呢?

直接在 onclick 里面添加一个提交语句,如:document.forms['theForm'].submit();就好了。

Share
« google走了,更要提高AdSense广告的精确性激活WIN7家庭版中的administrator超级管理员 »
  1. zhangleifly头像
    zhangleifly 2010-8-11 11:22:14 1

    都是这样的~~




◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。