インジケーター2種 [HTML5]
html5には、meterタグとprogressという二つのインジケーターを表すタグがあります。
使い方自体は難しくないのですが、それぞれ意味があって、使い道には気を付けなければなりません。
また、現状、これらのタグには複雑なcssは当てられないうえに、対応ブラウザが限られています(2015/06現在、iOSには対応していません)。
sample<meter>
80%
- 主要タグ:meter
- 対応ブラウザ:opera、mozilla系、webkit系ブラウザ(IEは対応していません)
- 下限や上限などがあらかじめ分かっている、規定範囲内の測定値を表すのに使用
OS・ブラウザのバージョンや組み合わせによっては、メーターバーが表示されません。
html
<meter value="80" min="0" max="100">80%</meter>
※黒い部分をダブルクリックするとソースを選択できるので、コピーして使ってください。
- 属性value(測定された実際の値)は必須
- そのほか、min属性(下限の値)、max属性(上限の値)、low属性(「低い」とされる境界)、high属性(「高い」とされる境界)、optimum属性(「最適」とされる値)といった属性がある。
- meterタグ内が空なのはありえあない。サンプルのように、実測値であるとか、計測内容(例えば「出席率」)といったテキストを入れておく。
サンプルは百分率を想定した例ですが、百分率にこだわる必要はなくて、1クラス30人のうち何人出席といったことを表したければ、min属性に0、max属性に30、value属性に実際に出席した人数を入れれば、適切に表示します。
- 実験したところ、最新のFFやChromeではwidthやbox-shadow、border、background等、多少のCSSが効くようです。
- 2015/06現在、スマートデバイス向けサイトには使用を避けた方が良いようです。
Android端末では4.4以降であればほぼ対応していますが、iOS8.3でもほとんど対応していないようです。Androidでもブラウザによってはサポートしていません。
sample<progress>
- 主要タグ:progress
- 対応ブラウザ:opera、mozilla系、webkit系ブラウザ(IEは対応していません)
- タスク完了までの進行状況を示すのに使用(何かを計測する場合はmeterタグを使用)
OS・ブラウザのバージョンや組み合わせによっては、プログレスバーが表示されません。
html
<progress value="50" max="100">進行状況:50%</progress>
※黒い部分をダブルクリックするとソースを選択できるので、コピーして使ってください。
- 必須属性はないが、value属性(タスクがどれだけ完了したかを指定する)、max属性(タスク全体でどれだけ作業が必要かを指定する)、form属性(どのform要素と関連しているのかを明確に示す)といった属性がある。
- progressタグをサポートしていないブラウザでも内容がわかるように、タグの中にも、テキストで進行状況を記述することが推奨されている。
サンプルは百分率を想定した例ですが、百分率にこだわる必要はないです。たとえば、コンテンツが重いページのダウンロード状況を示したりするのに使用します。
jsなどと組み合わせて使うことが多いです。
- 2015/06現在、最新のFFとChromeでは見た目にかなり差異があります。まったく同じように表示するのは難しいかと思われます。
- 実験したところ、最新のFFやChromeではwidthやbox-shadow、border、background等、多少のCSSが効くようです(ただしブラウザによってかなり表示に差異があります)。
- 2015/06現在、スマートデバイス向けサイトには使用を避けた方が良いようです。
Android端末では4.4以降であればほぼ対応していますが、iOS8.3でもほとんど対応していないようです。Androidでもブラウザによってはサポートしていません。
戻る
Top