便利と感じたHTMLタグ一覧

個人的に便利だと感じたHTMLタグを紹介します！（これからも見つけ次第更新していこうと思います！）

## details, summary (IEのみ非対応)
HTMLのみでアコーディオンが実装できる！
```html
<details> <!-- ← open属性をつけることで初期表示可能！ -->
    <summary>Summary</summary>
    <p>
        これはテキストです。
    </p>
</details>

<details>
    <p>
        summaryタグはなくてもOK!
    </p>
</details>
```
↓プレビュー（Summary・詳細部分をクリックしてみてください！）
<details>
    <summary>Summary</summary>
    <p>これはテキストです。</p>
</details>
<details>
    <p>
        summaryタグはなくてもOK!
    </p>
</details>
CSS(summary::marker)を用いれば「▶」部分もいろいろいじれます！

## datalist (全ブラウザ対応!)
HTMLのみで検索予測のようなものを実装できる！
```html
<input type="text" list="animals"> <!-- datalistのIDを入れること！ -->
<datalist id="animals">
    <option>dog</option>
    <option>cat</option>
    <option>hamster</option>
    <option>rabbit</option>
    <option>lion</option>
</datalist>
```
↓プレビュー（表示できなかったため、画像 + CodePenで...）
フォーカスすると以下のように選択肢が現れ、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2703077/cec97a69-9211-b057-01e0-b7f7317bb789.png)
入力すると選択肢が絞り込まれます！（もちろん選択肢はクリック可能ですよ！）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2703077/5dccfff1-7e80-6fda-d3e5-cb62c3958504.png)

<p class="codepen" data-height="300" data-default-tab="html,result" data-slug-hash="OJQadzq" data-user="raratyurara" style="height: 300px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;">
  <span>See the Pen <a href="https://codepen.io/raratyurara/pen/OJQadzq">
  datalistタグ</a> by raratyurara (<a href="https://codepen.io/raratyurara">@raratyurara</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://cpwebassets.codepen.io/assets/embed/ei.js"></script>

便利だけど選択肢にCSSを適用できないのが難点...

## progress (全ブラウザ対応!)
ローディング + 進捗をHTMLのみで表すことができる！
```html
<progress></progress>
<!-- value / max %だけ進捗として表示されます！(以下だと80%) -->
<progress value=".8" max="1"></progress>
```
↓プレビュー
<p class="codepen" data-height="300" data-default-tab="html,result" data-slug-hash="mdXQvOj" data-user="raratyurara" style="height: 300px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;">
  <span>See the Pen <a href="https://codepen.io/raratyurara/pen/mdXQvOj">
  Progressタグ</a> by raratyurara (<a href="https://codepen.io/raratyurara">@raratyurara</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://cpwebassets.codepen.io/assets/embed/ei.js"></script>

CSSで
```css
progress {
    /* 左右に動かなくなります + 上記のスタイルとかなり変わります */
    -webkit-appearance: none;
}
```
を指定した際に限り、progressはCSSでデザイン修正可能です！(meterタグと似てる...?)

## diglog (IEのみ非対応)
簡単なJSでモーダルを実装できる！
```html:html
<button id="openButton">OPEN</button>
<button id="closeButton">CLOSE</button>

<dialog id="modal"> <!-- ← open属性をつけることで初期表示可能！ -->
  これはモーダルですよ!
</dialog>
```
```javascript:javascript
const openButton = document.getElementById('openButton');
const modal = document.getElementById('modal');
openButton.addEventListener('click', () => {
  modal.show();
});
closeButton.addEventListener('click', () => {
  modal.close();
});
```
↓プレビュー（表示できなかったため、画像 + CodePenで...）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2703077/34915d5b-9fe2-e3ab-2b07-91c03957dd94.png)
初期ではボタンしか表示されていませんが...
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2703077/bcaa4ccd-3f3b-3a18-f91e-1dafdde4cff6.png)
OPENボタンをクリックで上記のようにモーダルが表示されます！（closeを押すと消えますよ！）

<p class="codepen" data-height="300" data-default-tab="html,result" data-slug-hash="WNMYPKb" data-user="raratyurara" style="height: 300px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;">
  <span>See the Pen <a href="https://codepen.io/raratyurara/pen/WNMYPKb">
  Dialogタグ</a> by raratyurara (<a href="https://codepen.io/raratyurara">@raratyurara</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://cpwebassets.codepen.io/assets/embed/ei.js"></script>

変にクラス・スタイルを付け外ししなくてよいのはとても使いやすいなと思いました！



## まとめ
最近のHTMLってこんなに便利なんですね...
もっと勉強 + アウトプットしなくては！
次はCSSについて勉強しようかなぁ...

もし間違っている点・見づらい点などございましたら、お手数ですがご教示いただければ幸いです！