クロスブラウザはもう古い! HTML5+CSS3時代のプログレッシブ・エンハンスメント一撃デザインの種明かし(15)(1/2 ページ)

クロスブラウザはもう古い! これからのHTML5+CSS3時代を担う制作コンセプト、「プログレッシブ・エンハンスメント」とは?

» 2011年05月24日 00時00分 公開
[橋本雄也, 本多大和面白法人カヤック]

IE 9が登場! ユーザーの閲覧環境がますます多様化!

 4月26日、ついに日本でもInternet Explorer(以下、IE) 9が公開されました。また、マイクロソフトは早くもIE 10のプレビュー版を公開しており、CSS3やJavaScript周りが、さらに強化されるなどリッチなWeb表現が加速してきています。

Internet Explorer 9がついに登場! Internet Explorer 9がついに登場!

 IEFirefoxSafariGoogle ChromeChromeWebPC

 


 Web

 Web 

   

 

使 


 HTML5CSS3使使

 CSS320115CSS3


 


 

1Twitter


 Twitter 
Twitter:登録フォーム(上: IE 9/下:IE 6) Twitter:登録フォーム(上: IE 9/下:IE 6)

 IE9input使CSS3使

 IE 6

2YouTube 


 YouTubeIE 9IE 7
YouTube:検索結果画面(上:IE 9/下:IE 7) YouTube:検索結果画面(上:IE 9/下:IE 7)

 IE 9 

 IE 7

3Mac OS X 


 SafariChromeWebkitWebkit -webkit-animationMacMac OS X
アップル:Macの製品ページ(SafariかChromeで見ると、アニメーションします) アップル:Macの製品ページ(SafariかChromeで見ると、アニメーションします)

 それ以外のブラウザで見ると、アニメーションなしでMacのラインアップが表示されますが、もちろん通常のブラウジングに支障はありませんので、プログレッシブ・エンハンスメントの概念に沿っています。

プログレッシブ・エンハンスメントでサイトを作ってみよう

 それでは実際に、プログレッシブ・エンハンスメントの概念を取り入れたサイトを作っていきましょう。本稿ではCSS3をメインに題材として取り上げ、実際のコードを交えて解説していきます。

ボタンを作ってみよう

 Webサイトを構築するにあたって、ボタンは最も頻繁に使う部品だと思います。これまでのWeb制作では、グラデーションや角丸などリッチな表現のボタンを作るには画像を使う必要がありました。

 しかし、CSS3を使えば、このようなボタンも画像を使わずに作成できます。

クリックすると、ボタンがへこむ クリックすると、ボタンがへこむ

 画像を使わずにCSSだけで作ったボタンは、テキストエディタだけで編集ができるので、作業効率の向上が期待できます。また、CSSファイルで管理できるので、一括で表現の変更ができ、メンテナンス性が高まるなど、多くの利点があります。

 このボタンを作っているHTMLとCSSのコードは以下のようになっています。実際にはCSS3のプロパティは「-webkit-」、「-moz-」などのベンダプレフィックスを付ける必要があります(詳細は後述)。

#btn {
    position: relative;
    display: block;
    width: 200px;
    padding: 15px 0;
    text-align: center;
    cursor: pointer;
       
    color: white;
    text-decoration: none;
    line-height: 1;
    font-weight: bold;
    letter-spacing: 3px;
    text-shadow: -1px -1px 1px #C60; // CSS3プロパティ
    border-radius: 10px; // CSS3プロパティ
    box-shadow: 0 5px 1px #C60, 0 7px 5px #CCC; // CSS3プロパティ
  }
  #btn:link, #btn:visited { background: #F70; }
  #btn:hover { background: #FB3; }
  #btn:active {
    background: #FC2;
    box-shadow: 0 0 1px #871, 0 2px 2px #CCC; // CSS3プロパティ
    top: 5px;
  }

 また、コードの実行結果を以下から確認できます。

プログレッシブエンハンスメント(ボタン) - jsdo.it - share JavaScript, HTML5 and CSS


CSS3を用いて作成したボタン(上)とCSS3非対応ブラウザでの表示を再現したボタン(下)(※ 再生ボタンをクリックしていただくか、右下の「Play」ボタンをクリックしていただくとコードの実行結果を確認できます。さらに、プレビュー中に右下の「STOP」ボタンをクリックするとコードを確認できます)


 2CSS3CSS3CSS3

 CSS3使CSS3CSS3CSS3CSS3CSS3CSS3

Web


 Web

プログレッシブエンハンスメント(テキストボックス) - jsdo.it - share JavaScript, HTML5 and CSS


CSS3と「:focus」疑似クラスを用いて、入力中のデザインを加えたテキストボックス(上)とCSS3非対応ブラウザでの表示を再現したテキストボックス(下)(※ 再生ボタンをクリックしていただくか、右下の「Play」ボタンをクリックしていただくと、コードの実行結果を確認できます。さらに、プレビュー中に右下の「STOP」ボタンをクリックするとコードを確認できます)

 上に示したテキストボックスでは、角丸やグラデーションなどのCSS3プロパティの他に、「:focus」疑似クラスを用いて、テキストボックス入力中のデザインを指定しています。角丸やグラデーション、「:focus」疑似クラスの使えないブラウザでも最低限機能するようCSSを設定しています。

プログレッシブエンハンスメント(アニメーション修飾) - jsdo.it - share JavaScript, HTML5 and CSS


アイコンをCSS3アニメーションで装飾した見出し(上)とCSS3非対応ブラウザでの表示を再現した見出し(下)(※ 再生ボタンをクリックしていただくか、右下の「Play」ボタンをクリックしていただくとコードの実行結果を確認できます。さらに、プレビュー中に右下の「STOP」ボタンをクリックするとコードを確認できます)

 上に示した見出しでは、アイコン部分がアニメーションで回転します。CSS3のアニメーションを用いているため、CSS3非対応のブラウザでは回転しませんが、問題なく閲覧できます。

 これらのように、プログレッシブ・エンハンスメントの概念でサイトを制作すると、新しい技術を積極的に使えるため、リッチな表現を手軽に行えます。

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

AI for エンジニアリング
「サプライチェーン攻撃」対策
1P情シスのための脆弱性管理/対策の現実解
OSSのサプライチェーン管理、取るべきアクションとは
Microsoft & Windows最前線2024
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。