コーディングにおける「Detailsタグ」をご存知でしょうか。
「Detailsタグ」を使うと、アコーディオンメニュー実装の際、大幅にコードを短くできます。
喜ぶ人
Detailタグを使えば、もはやCSSすらいらないよ!
とまで言われるほどです。
(本記事ではCSSを使ってますが)。
そんなDetailsタグを使ってシンプルなアコーディオンメニューを作成しました。
よければコピペでお使い下さい。
目次
Detailsアコーディオンメニュー
レスポンシブ対応となっております。
PCとスマホ両方でご確認ください。
完成形はこちら
See the Pen Details-accordion by yusuke-morioka (@yusuke-morioka) on CodePen.
コードはこちら
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/style.css" media="screen">
<title>Details-Accordion</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<link href="https://use.fontawesome.com/releases/v5.6.1/css/all.css" rel="stylesheet">
</head>
<body>
<details>
<summary>Menu1</summary>
<div class="details-content">
<p>質問の回答、質問の回答</p>
</div>
</details>
<details>
<summary>Menu2</summary>
<div class="details-content">
<p>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト
</p>
</div>
</details>
<details>
<summary>Menu3</summary>
<div class="details-content">
<p>質問の回答、質問の回答</p>
<p>質問の回答、質問の回答</p>
<p>質問の回答、質問の回答</p>
</div>
</details>
<details>
<summary>Menu4</summary>
<div class="details-content">
<p>テキストテキストテキストテキストテキストテキスト</p>
</div>
</details>
</body>
</html>
@charset "UTF-8";
summary {
width: 60%;
margin: 0 auto 5px;
padding: 10px;
display: flex;
justify-content: space-between;
background-color: #eee;
cursor: pointer;
transition: 0.2s;
}
summary::after {
font-family: "Font Awesome 5 Free";
content: "\f0d7";
font-weight: 900;
display: flex;
align-items: center;
transition: all 0.3s;
}
.details-content {
width: 60%;
margin: 0 auto;
}
.details-content p {
width: 95%;
}
details[open] summary:after {
transform: rotate(180deg);
}
details[open] .details-content {
animation: fadeIn 0.3s ease;
}
@keyframes fadeIn {
0% {
opacity: 0;
transform: translateY(-10px);
}
100% {
opacity: 1;
}
}
@media screen and (max-width: 960px) {
summary {
width: 90%;
}
.details-content {
width: 90%;
}
.details-content p {
margin: 10px auto 15px;
}
}
【コピペOK】レスポンシブ対応!ドロップダウンメニューの作り方
画像のようなおしゃれでシンプル、かつレスポンシブに対応しているドロップダウンメニューです。 てっとり早く実装したい方は、ぜひコピペしてご自由にお使い下さい。 ...
【VS Code】Sassをインデントする最も簡単な方法
Sassのコードのインデントを最もてっとり早く行う方法です。 行間や配置が気になる几帳面なコーダーの皆さんは、ぜひお試し下さい。 Visual Studio Codeを使う方向けの...
コーディングしてると眠くなるのは普通です【原因と対処法】
コーディング中やたら眠くなる。他のことしてると目が覚めるのに、コーディングやり始めると数分であくびばっか出てくる。おれコーディングに適した人じゃないのかも。 ...
今後、コーディングはなくなる?←可能性は大です
今コーディング勉強中なんだけど、ネットとかSNSで「オワコン」だの「今後なくなる」だの、散々言われてて不安。コーディングがんばっても、今後の時代を考えると意味な...
1992年生まれ|2020年10月フリーランスとして独立|Web制作、SEOライティングを軸に活動中|接客→生産管理→システム開発会社→現在|モリブログ運営。Web制作、フリーランスジャンルを中心に更新中。PV数は年間14万人以上||温泉、旅行、甘いものが好き。