Google的无图像按钮 [英] Google's Imageless Buttons

查看:216
本文介绍了Google的无图像按钮的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

最近有几篇关于Google新的无图像按钮的文章:




  • 页面。 (虽然没有图像的渐变只能在Firefox和Safari中使用)



    逐步说明



    1 - 插入以下CSS:

      / *开始自定义按钮CSS here 
    --------- ------------------------------- * /
    .btn {
    display:inline-block;
    background:none;
    margin:0;
    padding:3px 0;
    border-width:0;
    overflow:visible;
    font:100%/ 1.2 Arial,Sans-serif;
    text-decoration:none;
    color:#333;
    }
    * html button.btn {
    padding-bottom:1px;
    }
    / *下面是一个临时的黑客服务
    后面的margin值只有Gecko浏览器
    Gecko浏览器添加一个额外的3px左/右
    填充到不能被覆盖的按钮元素。
    因此,我们使用-3px的左/右边距来克服这一点。 * /
    html:not([lang * =])button.btn {
    margin:0 -3px;
    }
    .btn span {
    background:#f9f9f9;
    z-index:1;
    margin:0;
    padding:3px 0;
    border-left:1px solid #ccc;
    border-right:1px solid #bbb;
    }
    * html .btn span {
    padding-top:0;
    }
    .btn span span {
    background:none;
    position:relative;
    padding:3px .4em;
    border-width:0;
    border-top:1px solid #ccc;
    border-bottom:1px solid #bbb;
    }
    .btn b {
    background:#e3e3e3;
    position:absolute;
    z-index:2;
    bottom:0;
    left:0;
    width:100%;
    overflow:hidden;
    height:40%;
    border-top:3px solid #eee;
    }
    * html .btn b {
    top:1px;
    }
    .btn u {
    text-decoration:none;
    position:relative;
    z-index:3;
    }

    / *只使用药丸样式按钮(LEFT | CENTER | RIGHT)才需要药丸类别* /
    button.pill-l span {
    border- right-width:0;
    }
    button.pill-l span span {
    border-right:1px solid #ccc;
    }
    button.pill-c span {
    border-right-style:none;
    border-left-color:#fff;
    }
    button.pill-c span span {
    border-right:1px solid #ccc;
    }
    button.pill-r span {
    border-left-color:#fff;
    }

    / *只需要为按钮实现单独的悬停状态* /
    .btn:hover span,.btn:hover span span {
    cursor:pointer ;
    border-color:#9cf!important;
    color:#000;
    }

    / *如果一个按钮应该是主按钮,则使用* /
    .primary {
    font-weight:bold;
    color:#000;
    }

    2 - 使用以下方法之一来调用它

     < a href =#class =btn>< span> span>< b>& nbsp;< / b>< u>按钮< / u>< / span>< / span>< 

     < button type =buttonclass =btn>< span>< span>< b>& nbsp;< / b>< u>按钮< / u> ; / span>< / span>< / button> 


    There have been a few articles recently about Google's new imageless buttons:

    I really like how these new buttons work in Gmail. How can I use these or similar buttons on my site? Are there any open source projects with a similar look & feel?

    If I wanted to roll my own button package like this using JQuery/XHTML/CSS, what elements could I use? My initial thoughts are:

    1. Standard <input type="button"> with css to improve the look (the design article talked mostly about the css/imges involves.)

    2. Jquery javascript to bring up a custom dialog rooted to the button on the "onclick" event which would have <a> tags in them and a search bar for filtering? Would a table layout for that popup be sane?

    I'm terrible at reverse engineering things on the web, what are some of the tools that I could use to help reverse engineer these buttons? Using Firefox's web developer toolbar I can't really see the css or javascript (even if it is minified) that is used on the buttons popup dialogs. What browser tool or other method could I use to peek at them and get some ideas?

    I'm not looking to steal any of Google's IP, just get an idea of how I could create similar button functionality.

    解决方案

    -- EDIT -- I didn't see the link in the original post. Sorry! Will try and re-write to reflect actual question

    StopDesign has an excellent post on this here. [edit 20091107] These were released as part of the closure library: see the button demo.

    Basically the custom buttons he shows are created using a simple bit of CSS.

    He originally used 9 tables to get the effect:

    But later he used a simple 1px left and right margin on the top and bottom borders to achieve the same effect.

    The gradient is faked by using three layers:

    All of the code can be found at the Custom Buttons 3.1 page. (although the gradient without the image is only working in Firefox and Safari)

    Step by Step Instructions

    1 - Insert the following CSS:

    /* Start custom button CSS here
    ---------------------------------------- */
    .btn {
      display:inline-block;
      background:none;
      margin:0;
      padding:3px 0;
      border-width:0;
      overflow:visible;
      font:100%/1.2 Arial,Sans-serif;
      text-decoration:none;
      color:#333;
      }
    * html button.btn {
      padding-bottom:1px;
      }
    /* Immediately below is a temporary hack to serve the 
       following margin values only to Gecko browsers
       Gecko browsers add an extra 3px of left/right 
       padding to button elements which can't be overriden.
       Thus, we use -3px of left/right margin to overcome this. */
    html:not([lang*=""]) button.btn {
      margin:0 -3px;
      }
    .btn span {
      background:#f9f9f9;
      z-index:1;
      margin:0;
      padding:3px 0;
      border-left:1px solid #ccc;
      border-right:1px solid #bbb;
      }
    * html .btn span {
      padding-top:0;
      }
    .btn span span {
      background:none;
      position:relative;
      padding:3px .4em;
      border-width:0;
      border-top:1px solid #ccc;
      border-bottom:1px solid #bbb;
      }
    .btn b {
      background:#e3e3e3;
      position:absolute;
      z-index:2;
      bottom:0;
      left:0;
      width:100%;
      overflow:hidden;
      height:40%;
      border-top:3px solid #eee;
      }
    * html .btn b {
      top:1px;
      }
    .btn u {
      text-decoration:none;
      position:relative;
      z-index:3;
      }
    
    /* pill classes only needed if using pill style buttons ( LEFT | CENTER | RIGHT ) */
    button.pill-l span {
      border-right-width:0;
      }
    button.pill-l span span {
      border-right:1px solid #ccc;
      }
    button.pill-c span {
      border-right-style:none;
      border-left-color:#fff;
      }
    button.pill-c span span {
      border-right:1px solid #ccc;
      }
    button.pill-r span {
      border-left-color:#fff;
      }
    
    /* only needed if implementing separate hover state for buttons */
    .btn:hover span, .btn:hover span span {
      cursor:pointer;
      border-color:#9cf !important;
      color:#000;
      }
    
    /* use if one button should be the 'primary' button */
    .primary {
      font-weight:bold;
      color:#000;
      }
    

    2 - Use one of the following ways to call it (more can be found in the links above)

    <a href="#" class="btn"><span><span><b>&nbsp;</b><u>button</u></span></span></a>
    

    or

    <button type="button" class="btn"><span><span><b>&nbsp;</b><u>button</u></span></span></button>
    

    这篇关于Google的无图像按钮的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆