最近有一些关于谷歌新的无图像按钮的文章:
我真的很喜欢这些新按钮在Gmail中的工作方式。如何在我的网站上使用这些或类似的按钮?是否有任何具有类似外观和开放性的开源项目感觉?
如果我想使用JQuery / XHTML / CSS滚动我自己的按钮包,我可以使用哪些元素?我最初的想法是:
使用css标准<input type="button">
来改善外观(设计文章主要讨论了css / imges涉及的内容。)
Jquery javascript打开一个自定义对话框,根据“onclick”事件上的按钮,其中包含<a>
个标签,还有一个用于过滤的搜索栏?该弹出窗口的表格布局是否合理?
我在网络上进行逆向工程时很糟糕,我可以使用哪些工具来帮助逆向工程这些按钮?使用Firefox的Web开发人员工具栏我无法真正看到按钮弹出对话框中使用的css或javascript(即使它被缩小)。我可以用什么浏览器工具或其他方法来查看它们并获得一些想法?
我不打算窃取谷歌的任何IP,只是想知道如何创建类似的按钮功能。
答案 0 :(得分:55)
- 编辑 - 我没看到原帖中的链接。抱歉!将尝试重写以反映实际问题
StopDesign在此here上有一篇优秀的帖子。 [edit 20091107]这些内容已作为closure library的一部分发布:请参阅button demo。
基本上,shows的自定义按钮是使用简单的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 - 使用以下方法之一来呼叫它(更多信息可以在上面的链接中找到)
<a href="#" class="btn"><span><span><b> </b><u>button</u></span></span></a>
或
<button type="button" class="btn"><span><span><b> </b><u>button</u></span></span></button>
答案 1 :(得分:32)
根据Firebug,这是他们的“归档”按钮。
<div tabindex="0" act="7" class="goog-imageless-button goog-inline-block goog-imageless-button goog-imageless-button-collapse-right goog-imageless-button-primary" id="">
<div class="goog-inline-block goog-imageless-button-outer-box">
<div class="goog-inline-block goog-imageless-button-inner-box">
<div class="goog-imageless-button-pos">
<div class="goog-imageless-button-top-shadow"> </div>
<div class="goog-imageless-button-content"><b>Archive</b></div>
</div>
</div>
</div>
</div>
CSS比我更关心组织/粘贴。也许只是我,但是当标记/ css变得如此沉重时,我想我宁愿使用图像(或者几张图像作为背景。更好的是,Sprites)。此外,此按钮的图像将小于单个K.
尽管我喜欢谷歌,但这似乎有点矫枉过正。
<强>更新强> 谷歌是一个独特的案例。如果你是一个庞大的网站,并希望国际化你的内容,那么这种无图像技术实际上非常酷。它允许您将任何书面语言应用于UI,而无需生成新图像,或者担心会破坏按钮。
答案 2 :(得分:13)
但是,您决定这样做,请确保首先使用默认值呈现页面:
<input type="submit" value="submit" />
...然后使用jQuery将输入元素与具有onClick事件的自定义按钮交换。这将确保未启用JavaScript的用户仍可以使用您的网站。
可用性应该先行!
答案 3 :(得分:13)
你可以使用我开发的这个jquery插件。这些按钮在任何地方都很实用,因为它是一个插件,它们很容易设置和配置。
答案 4 :(得分:12)
更新2011年的这篇文章:
Google于2011年7月在其服务中推出了新设计。新的Google按钮已在此处重新创建:http://pixify.com/blog/use-google-plus-to-improve-your-ui/
新按钮看起来像这样:
答案 5 :(得分:5)
您可以尝试使用Firefox的Firebug插件来查看按钮上的CSS。
答案 6 :(得分:5)
您将遇到的最大问题是让它在浏览器中运行。
我认为你应该强烈考虑一下你是否真的需要它......由于他们需要大量的按钮和语言,Google可以通过制作这样的东西来获得大量收益;我怀疑大多数网站和应用程序都会使用图像一样富裕。
开源组件是一个好主意,但是:广泛传播财富和努力。
答案 7 :(得分:2)
这里的大部分工作可能都不是设计 - 这些帖子已经是渐变效果的绝佳操作方法。
问题在于所有浏览器都可以使用它,或者更具体地说是IE6和IE7的垃圾堆。
我认为你已经走上了正确的轨道,使用了一个用jQuery重写的标准按钮 - 这样你仍然可以访问屏幕阅读器,并且可以在真正的老浏览器中很好地降级。
对于HTML,我认为您最好的选择是使用每个浏览器访问Gmail并查看生成的HTML - 我希望它与IE6,IE7完全不同(也取决于他们是否需要quirks-mode)和其他一切。
答案 8 :(得分:2)
这些内容已作为closure library的一部分发布:请参阅button demo
答案 9 :(得分:1)
Web Developer Toolbar在css菜单下有一个视图样式信息,它会告诉你什么css应用于一个项目。该菜单中还有编辑CSS功能,可以让您动态更改CSS,看看它如何影响页面。
答案 10 :(得分:0)
带有闭包库链接的帖子不适用。作为闭包库的一部分发布的内容使用带有渐变的按钮。
列出的其他解决方案毫无用处。你无法从那里开始,让这些按钮适用于Gmail让它们工作的每个浏览器。鲍曼在他的网站上展示的不是代码。