HTML要素 ・ その他

<summary>

detailsの見出し

details 要素の見出し部分です。ここをクリックすると、details の中身が開閉します。

種類
details の見出し
終了タグ
必須
記述位置
details の最初の子要素
01

サンプルコード

HTML
1<details>
2 <summary>営業時間を見る</summary>
3 <p>平日 8:00〜20:00 / 土日 9:00〜18:00</p>
4</details>
CSS
1summary {
2 list-style: none;
3 cursor: pointer;
4 padding: 8px 12px;
5 background: #faf5ec;
6}
7summary::-webkit-details-marker {
8 display: none;
9}
10summary::after {
11 content: " +";
12}
13details[open] summary::after {
14 content: " -";
15}
02

実行結果

ブラウザでの表示クリックすると開閉し、右側の記号が切り替わります
03

解説

summary は、details の開閉ボタンの役割を持つ見出しです。details の最初の子要素として1つだけ書きます。

既定では先頭に三角形のマーカーが付きます。CSSの list-style: none で消し、代わりに ::after などで独自の記号を付けられます。

details[open] セレクタを使うと、開いているときだけ見た目を変えられます。

04

応用例・注意点

よく使うCSS

セレクタ・プロパティ説明
list-style: none既定の三角マーカーを消す
::-webkit-details-markerSafari 向けにマーカーを消す
details[open] summary開いているときの summary
cursor: pointerクリックできることを示す

見出しの中に h3 を入れる

summary の中には見出し要素も入れられます。

HTML
1<details>
2 <summary><h3>配送について</h3></summary>
3 <p>…</p>
4</details>
CSS
1summary h3 {
2 display: inline;
3}

注意点

  1. 01summary の中にリンクやボタンを入れると、クリックの動作が分かりにくくなります。
  2. 02details の外で summary は使えません。
↑↓ 選択Enter 移動Esc 閉じるCtrl K⌘K で開閉