最近有一些关于谷歌新的无图像按钮的文章:
http://stopdesign.com/archive/2009/02/04/recreating-the-button.html
http://stopdesign.com/eg/buttons/3.0/code.html
http://stopdesign.com/eg/buttons/3.1/code.html
http://gmailblog.blogspot.com/2009/02/new-ways-to-label-with-move-to-and-auto.html
我真的很喜欢这些新按钮在Gmail中的工作方式.如何在我的网站上使用这些或类似的按钮?是否有任何具有类似外观和感觉的开源项目?
如果我想使用JQuery/XHTML/CSS滚动我自己的按钮包,我可以使用哪些元素?我最初的想法是:
用css 标准来改善外观(设计文章主要谈论css/imges涉及.)
Jquery javascript打开一个自定义对话框,根据"onclick"事件上的按钮,其中包含标签和一个用于过滤的搜索栏?该弹出窗口的表格布局是否合理?
我在网上逆向工程方面很糟糕,我可以使用哪些工具来帮助逆向工程这些按钮?使用Firefox的Web开发人员工具栏我无法真正看到按钮弹出对话框中使用的css或javascript(即使它被缩小).我可以用什么浏览器工具或其他方法来查看它们并获得一些想法?
我不打算窃取谷歌的任何IP,只是想知道如何创建类似的按钮功能.
- 编辑 - 我没有看到原帖中的链接.抱歉! 将尝试重写以反映实际问题
StopDesign在这里有一个很好的帖子.[edit 20091107]这些作为闭包库的一部分发布:请参阅按钮演示.
基本上,他展示的自定义按钮是使用简单的CSS创建的.
他最初使用9个表来获得效果:
但后来他在顶部和底部边框上使用了一个简单的1px左右边距来达到同样的效果.
使用三层伪造渐变:
所有代码都可以在Custom Buttons 3.1页面找到.(虽然没有图像的渐变仅适用于Firefox和Safari)
1 - 插入以下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 - 使用下列方式之一调用它(更可以在上面的链接中找到)
button
要么
根据Firebug的说法,这是他们的"归档"按钮.
Archive
CSS不仅仅是我为此组织/粘贴.也许只是我,但是当标记/ css变得如此沉重时,我想我更愿意使用一个图像(或者一些图像作为背景.更好的是,Sprites).此外,此按钮的图像将小于单个K.
尽管我喜欢谷歌,但这似乎有点矫枉过正.
更新: Google是一个独特的案例.如果你是一个庞大的网站,并希望国际化你的内容,那么这种无图像技术实际上非常酷.它允许您将任何书面语言应用于UI,而无需生成新图像,或者害怕破坏按钮.
请参阅问题:使用无图像按钮有什么好处?
但是,您决定这样做,请确保首先使用默认值呈现页面:
...然后使用jQuery将输入元素与具有onClick事件的自定义按钮交换.这将确保未启用JavaScript的用户仍可以使用您的网站.
可用性应该是第一位的!