web-dev-qa-db-ja.com

Googleのイメージレスボタン

最近、Googleの新しいイメージレスボタンに関する記事がいくつかあります。

これらの新しいボタンがGmailでどのように機能するかがとても気に入っています。サイトでこれらのボタンまたは同様のボタンを使用するにはどうすればよいですか?同様のルックアンドフィールを持つオープンソースプロジェクトはありますか?

JQuery/XHTML/CSSを使用してこのような独自のボタンパッケージをロールしたい場合、どの要素を使用できますか?私の最初の考えは:

  1. 標準<input type="button">外観を改善するためにcssを使用します(デザイン記事では、主にcss/imgesについて説明しました。)

  2. Jquery javascript。「onclick」イベントのボタンをルートとするカスタムダイアログを表示し、<a>タグとフィルタリング用の検索バー?そのポップアップのテーブルレイアウトは正常ですか?

私はWeb上のリバースエンジニアリングが恐ろしいのですが、これらのボタンをリバースエンジニアリングするために使用できるツールにはどのようなものがありますか? FirefoxのWeb開発者ツールバーを使用すると、ボタンのポップアップダイアログで使用されているcssまたはjavascript(縮小されていても)を実際に見ることができません。それらを覗いていくつかのアイデアを得るには、どのブラウザツールまたは他の方法を使用できますか?

GoogleのIPを盗むつもりはありません。同様のボタン機能をどのように作成できるかを考えてください。

90
MikeN

-編集-元の投稿にリンクが表示されませんでした。ごめんなさい!実際の質問を反映するように書き直します

StopDesignにはこれに関する優れた投稿があります こちら[20091107を編集]これらは クロージャーライブラリ の一部としてリリースされました: ボタンデモ を参照してください。

基本的に彼 shows のカスタムボタンは、簡単なCSSを使用して作成されます。

彼はもともと9つのテーブルを使用して効果を得ました。 9 Tables

しかし、後に彼は、同じ効果を達成するために、上下の境界に単純な1pxの左右マージンを使用しました。

グラデーションは、3つのレイヤーを使用して偽造されます。 Button Gradient

すべてのコードは 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>&nbsp;</b><u>button</u></span></span></a>

または

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

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がこれほど重くなったとき、私はむしろイメージを使用する(または背景としていくつかの画像を使用したいと思います)いっそのこと、スプライト)。また、このボタンの画像は単一のK未満です。

私がGoogleを愛しているのと同じくらい、これは少しやり過ぎのようです。


更新:Googleはユニークなケースです。あなたが大規模なサイトであり、コンテンツを国際化したい場合、この画像のない手法は実際には本当にクールです。新しい画像を生成したり、ボタンを壊したりすることなく、ほぼすべての記述言語をUIに適用できます。

質問を参照してください: イメージレスボタンを使用する利点は何ですか?

32
Sampson

私が開発したこのjqueryプラグインを使用できます。ボタンはどこでも実用的に機能し、プラグインなのでセットアップと構成が簡単です。

http://swizec.com/code/styledButton/

13
Swizec

ただし、どのように決定する場合でも、最初にデフォルトでページをレンダリングしてください。

<input type="submit" value="submit" />

...次に、jQueryを使用して、onClickイベントを持つカスタムボタンと入力要素を交換します。これにより、JavaScriptを有効にしていないユーザーでもサイトを使用できるようになります。

ユーザビリティが最初に来るはずです!

13
Ty.

2011年のこの投稿の更新:

Googleは2011年7月にサービス全体で新しいデザインを開始しました。新しいGoogleボタンはここで再作成されました。 http://pixify.com/blog/use-google-plus-to-improve- your-ui /

新しいボタンは次のようになります。 enter image description here

12
bperdue

Firefoxの Firebug プラグインを使用して、ボタンのCSSを表示してみてください。

5
David Grant

あなたが抱える最大の問題は、ブラウザ間で機能するようにすることです。

本当に必要かどうかを強く検討する必要があると思います。Googleは、必要なボタンと言語の数が膨大であるため、このようなものを作成することで大金を得ています。私は、ほとんどのサイトとアプリケーションが画像を使用するのと同じくらいうまくいくと思う。

しかし、オープンソースのコンポーネントは良いアイデアです:富と努力を広く広げてください。

5
Zac Thompson

ここでの作業の大部分はおそらくデザインではないでしょう-これらの投稿は既にグラデーション効果に関する優れたハウツーです。

問題は、これがすべてのブラウザーで動作することです。より具体的には、IE6とIE7である風変わりなゴミの山です。

JQueryで書き直される標準ボタンを使用すると、正しい方向に進んでいると思います。この方法では、スクリーンリーダーが引き続きアクセスでき、実際に古いブラウザーでもうまく機能します。

HTMLについては、各ブラウザーでGmailにアクセスし、生成されるHTMLを確認することをお勧めします-IE6、IE7、(quirks-modeが必要かどうかによって異なります)およびその他すべてで完全に異なると思われます。

2
Keith

これらは closure library の一部としてリリースされました: button demo をご覧ください

2
Nickolay

Web Developer Toolbar のcssメニューの下には、アイテムに適用されているcssを示すビュースタイル情報があります。そのメニューには、CSSをオンザフライで変更してページにどのように影響するかを確認できるCSSの編集機能もあります。

1
Mykroft

クロージャーライブラリへのリンクを含む投稿は適用されません。クロージャライブラリの一部としてリリースされたものは、gradientsのボタンを使用します。

リストされている他のソリューションは役に立ちません。そこから移動して、Gmailが機能するすべてのブラウザーでこれらのボタンを機能させることはできません。 Bowmanが彼のサイトで示しているのは、動作するコードではありません。

0
Jose