HTML5/CSS3
2010年代のWeb制作に欠かせなくなるであろう、HTML5とCSS3についてまとめてみる。
HTML5 概要
1999年に勧告されたHTML4.01の後継にあたる。FlashやSilverlight等のリッチインターネットアプリケーションのプラットフォームを置き換えることを標榜としており、
様々な要素を追加・廃止している。
2012年3月頃に正式に勧告される予定である。
HTML4.01と異なる点
前述した通り、様々な要素が追加・廃止されている。※以下は、2010年2月23日版 WHATWG Draft Standardに基づく。今後変更の可能性あり。
廃止要素:basefont、big、center、font、s、strike、tt、u、frame、frameset、noframes、acronym、applet、isindex、dir
新要素については次項を参照されたい。要素の追加・廃止によってマークアップがより厳格になったため、注意が必要である。
また、DTDが存在しないためDOCTYPE宣言が簡略化され <!DOCTYPE html> となった。
新要素
特に「セクショニング」と「埋め込みコンテンツ」は実務的なニーズが高いとされている。
※以下は、2010年6月24日版 WHATWG Draft Standardに基づく。今後変更の可能性あり。
【セクショニング】
・section
div要素の区分け的存在。見出しを付けられるような内容ごとに、このsection要素で区切ることが出来る。
コーディングの都合で区切る場合などは、従来通りdiv要素を用いる。
・nav
従来の<div id="navi">等の代替として使用できる。nav要素の中にul要素を用いるのが一般的のようである。
また、パンくずリストやページネーション等に用いるのも効果的。
・header
従来の<div id="header">の代替として使用できる。また、ドキュメント内に1つしか書けないということはないので、セクションの先頭に用いることもできる。
・footer
従来の<div id="footer">の代替として使用できる。また、ドキュメント内に1つしか書けないということはないので、セクションの最後に用いることもできる。
・aside
メインコンテンツではないが、それと直接関連のある内容をマークアップする際に用いる。
例えばきららのTOPページであれば、「うごうご4コマ」「Web限定連載」の部分にこれを用いるのが適していると言えそうである。
・article
他の部分と切り離しても、ひとつの文書やページとして体裁が成り立つ部分に用いる、とされている。
が、この定義の解釈は難しく、誤った使い方をしてしまいがちなので注意が必要である。
・hgroup
その名の通り、見出しをグループ化する要素。多くの場合、ページのタイトルとサブタイトル(タグライン)各々をh1~h6要素でマークアップしたものを
グループ化するのに用いられる。
【グルーピング】
・figure
【埋め込みコンテンツ】
・video
文字通り、動画を埋め込むための要素。従来のやり方ではFlashが必要であったりしたが、video要素では不要になった。
video要素には様々な属性が存在する。自動再生させるautoplay、ページ読み込みと同時にバッファを開始させるautobuffer、
万が一動画が読み込まれなかった場合に画像を表示させるposterなど。
ただ、このvideo要素にはコーデックやIE対策など、様々な問題点が指摘されているため、実用できるようになるにはまだ時間がかかるとされている。
・audio
文字通り音楽を埋め込むための要素だが、ブラウザ間でサポートしているコーデックに差があるため、実装する際はやや複雑を要する。
詳細についてはhtml5doctorの記事を参照されたい。
・source
他のメディア要素と組み合わせて使用する。例えば、audio要素の中にsource要素を用いて音楽ファイルをロードする、など。
・canvas
・embed
【テキストレベル】
・mark
テキスト部分をハイライトする際に使用する。イメージとしては、蛍光ペンなどでテキストをマークするように、このmark要素を用いることができる。
・time
・ruby/rt/rp
【フォーム】
・meter
最大値のある数量に用いる。体重や長さなど、最大値が明確にならない数量には適していない。
meter要素にはいくつかの属性がある。実際の値となるvalue、最小の許容値を示すmin、最大の許容値を示すmaxなど。
例:<meter value="1" min="1" max="20">20件中1件目</meter>
・datalist
・keygen
・output
・progress
【インタラクティブ】
・details
・summary
・command
・menu
・device
【空要素】
・wbr
英文やURL表記などのアルファベットで、折り返し可能な文字がない連続したテキストの場合指定した幅に収まらなくなり、
IEやSafari、Chromeでは折り返されずにはみ出てしまう。
FirefoxやOperaでは折り返されるが、折り返し位置が各々のブラウザの判断によるので適切でない位置で折り返す場合がある。
それを解決するために、折り返してもかまわない箇所にこのwbr要素を指定する。
CSS3 概要
事実上現在の「標準」となっているCSS2.1の後継にあたる。2010年6月現在、策定中にあるため実用段階ではないという考えが強い。
しかし、一部プロパティやセレクタはすでに様々なブラウザでの実装が進んでいる。が、IEでの実装具合は言うまでもない。
CSS2.1と異なる点
新プロパティや新セレクタが登場し、CSS2.1では実装できなかった角丸や細かいセレクタ設定などが可能となった。
また、従来はJSを用いないと実装出来なかったこともこのCSS3では一部実装可能となっている。
新プロパティ
(編集中)
新セレクタ
・:nth-child( )
( )内には任意の数値などを指定する。例えば p:nth-child(3) とすると、3番目に出てくるp要素を指定することができる。
数値以外では、3n+1で3つごと、oddで奇数番目、evenで偶数番目を指定できる。
新しい発想
前述の通り、IEはCSS3に殆ど対応していない。そこで、Web Designing 2010年4月号に以下のような考え方が掲載されていたので紹介する。
IEユーザーにはローリテラシーユーザーが多く、一方でFirefoxやSafari、Chrome、Operaのユーザーには、ハイリテラシーユーザーが多いという傾向がある。
そのため、前者にはCSS2.1による最低限のビジュアルデザインを提供し、後者にはCSS3によるビジュアルデザインとインタラクション(よりリッチなユーザー体験)
を提供しようという考えだ。
今後この考え方が普及することも考えられる。
資料
このページを作成するのに参考にしたページ等をリストアップ。
【Webサイト】
HTML5.JP > html5doctor
HTML5 Showcase - AppleがHTML5・CSS3などのWeb標準で構築したサイト
http://web.g.hatena.ne.jp/keywordlist
【雑誌】
・Web Designing 2010年4月号 特集「実践・CSSコーディングの新常識」 公式サイト:http://book.mycom.co.jp/wd/