2011/02/17

CSS3 でリアルボタンを作成

CSS3だけでリアルのプッシュボタンをSimplebits のダン・セダーホルム氏が実現し、ウェブフォントのサービスを提供している。「Typekit」のブログの中で 公開しています。

CSS3のテクニックはみなさんご存知のようにいろいろとありますが、それらを駆使してデザインに落とし込むことができるのは、まさにWebデザイナーの力量なのかも知れません。

CSS3の可能性はまさに留まることを知らないテクニックです。
ぜひ、みなさんもCSS3にトライしてより素敵なデザインをしていきましょう!

以下に、ダン氏が記載しているソースを一部抜粋して掲載しておきました。
解説はこのブログでは割愛させていただきますが、もし機会があればAsciiの連載記事でこれよりコンパクトにした内容とソースの解説をしようと思います。

以下は、chromeで見た際のボタン画像





完成されているデモは以下になります。
ぜひ、CSS3サポートの良いブラウザでアクセスして、ボタンを押してみてください。

完成版のデモ

HTMLソース

<a href="#" class="btn"><span>Press this!</span></a>


CSSソース
.btn {
  display: inline-block;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  -webkit-box-shadow:
    0 8px 0 #1a74a1,
    0 15px 20px rgba(0,0,0,.35);
  -moz-box-shadow:
    0 8px 0 #1a74a1,
    0 15px 20px rgba(0,0,0,.35);
  box-shadow:
    0 8px 0 #1a74a1,
    0 15px 20px rgba(0,0,0,.35);
  -webkit-transition: -webkit-box-shadow .2s ease-in-out;
  -moz-transition: -moz-box-shadow .2s ease-in-out;
  -o-transition: -o-box-shadow .2s ease-in-out;
  transition: box-shadow .2s ease-in-out;
}



.btn span {
  display: inline-block;
  padding: 10px  20px;
  font-family: "cooper-black-std-1", "cooper-black-std-2", Helvetica, Arial, sans-serif;
  line-height: 1;
  text-shadow: 0 -1px 1px rgba(19,65,88,.8);
  background: #3194c6;
  background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#3194c6), to(#5bacd6));
  background: -moz-linear-gradient(#3194c6, #5bacd6);
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  -webkit-box-shadow: inset 0 -1px 1px rgba(255,255,255,.15);
  -moz-box-shadow: inset 0 -1px 1px rgba(255,255,255,.15);
  box-shadow: inset 0 -1px 1px rgba(255,255,255,.15);
  -webkit-transition: -webkit-transform .2s ease-in-out;
  -moz-transition: -moz-transform .2s ease-in-out;
  -o-transition: -o-transform .2s ease-in-out;
  transition: transform .2s ease-in-out;
}