Result
detailsタグでFAQコンテンツっぽいやつを作るサンプルです
JSも使わずCSSの力業も不要なのでコードもスッキリ見やすいですね
例によってIEでは使えないHTMLタグですが、便利には違いないですね
summaryにoutline: none;を付けないとクリック時にボーダーが表示されてしまいます。
css
summary {
display: block;
outline: none;
}
summary:before {/*矢印アイコンを付与*/
display: inline-block;
content: "›";
margin-right: 0.5rem;
font-weight: bold;
font-size: 1rem;
transition: all 300ms ease;
}
/*答え部分が開いている場合の処理*/
details[open] summary {
color: red;
transition: all 300ms ease;
}
details[open] p {
animation: openDetail 400ms ease;
background: #f9f9f9;
}
details[open] summary::before {
transform: rotate(90deg);
}
@keyframes openDetail {/*アニメーション設定*/
0% {
opacity: 0;
background: white;
transform: translateY(0%);
}
50% {
transform: translateY(3%);
}
100% {
opacity: 1;
background: #f9f9f9;
transform: translateY(0%);
}
}
html
<details role="group">
<summary role="button" aria-expanded="false"><strong>hoge?</strong></summary>
<p>hogehogehogehoge
hogehogehogehogehoge
hogehogehogehogehoge
hogehogehogehogehoge
</p>
</details>
can i use
details及びsummaryタグのブラウザサポート状況です
