<details>タグは、詳細情報を表す際に使用します。
details要素は、追加の詳細情報やコントロールを表します。
details要素の最初の子要素となるsummary要素が存在する場合、そのdetails要素の概要や凡例を表します。
details要素の残りの内容は、さらに追加の詳細情報を表します。
■属性
- open属性
- 追加の詳細情報を表示するかどうかを指定します。
■使用例
以下のサンプルは、データコピーの進捗状況をマークアップしています。
details要素の最初の子要素となるsummary要素内に「コピー中…」である旨の概要を表し、
その後に続く内容としてより詳しい技術情報を提供しています。
HTMLソース
<section>
<h1>コピーの状況</h1>
<details>
<summary>コピー中... <progress max="375505392" value="97543282"></progress> 25%</summary>
<dl>
<dt>転送速度:</dt> <dd>452KB/s</dd>
<dt>ローカルファイル名:</dt> <dd>/home/rpausch/raycd.m4v</dd>
<dt>リモートファイル名:</dt> <dd>/var/www/lectures/raycd.m4v</dd>
<dt>時間:</dt> <dd>01:16:27</dd>
<dt>カラープロファイル:</dt> <dd>SD (6-1-6)</dd>
<dt>寸法:</dt> <dd>320×240</dd>
</dl>
</details>
</section>
ブラウザ上の表示
コピーの状況
コピー中… 25%
- 転送速度:
- 452KB/s
- ローカルファイル名:
- /home/rpausch/raycd.m4v
- リモートファイル名:
- /var/www/lectures/raycd.m4v
- 時間:
- 01:16:27
- カラープロファイル:
- SD (6-1-6)
- 寸法:
- 320×240
■使用例
以下のサンプルは、details要素を使用して、一部のフォームコントロールをデフォルトで非表示にしています。
HTMLソース
<details>
<summary><label for=fn>ファイルを探す</label></summary>
<p><input type=text id=fn name=fn value="" placeholder="ファイル名の一部"></p>
<p><label>拡張子: <input type=text id=ext name=ext value="" placeholder="拡張子の一部"></label></p>
<p><label><input type=checkbox name=pm> 前方一致</label></p>
<p><label><input type=checkbox name=bm> 後方一致</label></p>
</details>
ブラウザ上の表示
open属性は追加の詳細情報を開いた状態にする
details要素にopen属性を指定すると、概要と追加の詳細情報の両方がユーザーに表示されます。
open属性が存在しない場合、概要のみが表示されて追加の詳細情報は非表示となります。
■使用例
以下のサンプルは、details要素にopen属性を指定した場合と指定しない場合を比較した使用例です。
HTMLソース
<details open>
<summary>ステータス: 運行中</summary>
<p>速度: 12m/s</p>
<p>方向: North</p>
</details>
<details>
<summary>ステータス: 運行中</summary>
<p>速度: 12m/s</p>
<p>方向: North</p>
</details>
ブラウザ上の表示
ステータス: 運行中
速度: 12m/s
方向: North
ステータス: 運行中
速度: 12m/s
方向: North
■使用例
以下のサンプルは、ユーザーが要素を開いたり閉じたりした際に、
summary要素の文字色が変化するようにCSSでスタイルを指定しています。
HTMLソース
<style>
details.sample > summary { transition: color 1s; color: black; }
details.sample[open] > summary { color: blue; }
</style>
<details class="sample">
<summary>ステータス: 運行中</summary>
<p>速度: 12m/s</p>
<p>方向: North</p>
</details>
ブラウザ上の表示
ステータス: 運行中
速度: 12m/s
方向: North
details要素は脚注には適さない
details要素は、脚注には適していません。
脚注をマークアップする場合、短めの脚注ならtitle属性に記述しても良いでしょう。
セクション単位の長めの脚注なら、aside要素にまとめてa要素でリンクしても良いでしょう。
図または表の脚注なら、figcaption要素やcaption要素を使用しても良いでしょう。