一尘不染

Google的无图像按钮

css

我真的很喜欢这些新按钮在Gmail中的工作方式。如何在网站上使用这些或类似按钮?是否有任何外观和感觉相似的开源项目?

如果我想使用JQuery / XHTML / CSS来滚动自己的按钮包,我可以使用哪些元素?我最初的想法是:

  1. <input type="button">css的标准,以改善外观(设计文章主要讨论css / imges涉及。)

  2. jQuery javascript弹出一个自定义对话框,该对话框植根于“ onclick”事件上的按钮,该对话框中将包含<a>标签和用于过滤的搜索栏?该弹出窗口的表格布局是否合理?

我对Web上的反向工程非常糟糕,可以使用哪些工具来对这些按钮进行反向工程?使用Firefox的Web开发人员工具栏,我无法真正看到在按钮弹出对话框中使用的CSS或JavaScript(即使已缩小)。我可以使用哪种浏览器工具或其他方法来窥视它们并获得一些想法?

我不想盗用Google的任何IP,只是想知道如何创建类似的按钮功能。


阅读 245

收藏
2020-05-16

共1个答案

一尘不染

-编辑-我没有在原始帖子中看到链接。抱歉! 将尝试重新编写以反映实际问题

基本上,他显示的自定义按钮是使用简单的CSS创建的。

他最初使用9张桌子来获得效果: !9桌

但后来他在顶部和底部边框上使用了简单的1px左右边距来达到相同的效果。

通过使用三层来伪造渐变:

所有代码都可以在“自定义按钮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>&nbsp;</b><u>button</u></span></span></a>

要么

<button type="button" class="btn"><span><span><b>&nbsp;</b><u>button</u></span></span></button>
2020-05-16