HTML・CSSのみでつくるアコーディオンメニュー8選

「ユーザーがクリックした時に開閉させたい」「Q&Aのリストを作りたい」そんな時におすすめなのがアコーディオンメニュー。今回はそんなアコーディオンのデザインスニペットをまとめました。本サイトで紹介するものは全てdetailsタグを使用しており、折りたたみ可能なコンテンツであることを検索エンジンに伝えられるのも嬉しいポイントです。

可愛いアコーディオンメニュー

可愛いアコーディオンメニューの単色の背景バージョン

単色の背景

step1
デザインを調整する
  • 形状
  • アイコンの種類
アコーディオンのデザイン

矢印付きのアコーディオン。開閉させると矢印が回転します。サイトのテーマカラーを背景色に設定するのがおすすめです。

アコーディオンのデザイン

矢印付きのアコーディオン。開閉させると矢印が回転します。サイトのテーマカラーを背景色に設定するのがおすすめです。

step2
HTMLをコピペする
HTML
<details class="accordion-001">
    <summary>アコーディオンのデザイン</summary>
    <p>矢印付きのアコーディオン。開閉させると矢印が回転します。サイトのテーマカラーを背景色に設定するのがおすすめです。</p>
</details>
<details class="accordion-001">
    <summary>アコーディオンのデザイン</summary>
    <p>矢印付きのアコーディオン。開閉させると矢印が回転します。サイトのテーマカラーを背景色に設定するのがおすすめです。</p>
</details>
step3
CSSをコピペする
CSS
.accordion-001 {
    max-width: 500px;
    background-color: #f0f5f9;
}

.accordion-001:not([open]) {
    margin-bottom: 7px;
}

.accordion-001 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em;
    border-radius: 5px;
    background-color: #2589d0;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
}

.accordion-001 summary::-webkit-details-marker {
    display: none;
}

.accordion-001 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #fff;
    border-right: 3px solid #fff;
    content: '';
    transition: transform .3s;
}

.accordion-001[open] summary::after {
    transform: rotate(225deg);
}

.accordion-001 p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: 1em 2em 2em 2em;
    color: #333333;
    transition: transform .5s, opacity .5s;
}

.accordion-001[open] p {
    transform: none;
    opacity: 1;
}
可愛いアコーディオンメニューの枠線付きバージョン

枠線付き

step1
デザインを調整する
  • 形状
  • アイコンの種類
アコーディオンのデザイン

プラスマイナスの付きのアコーディオン。開閉させるとアイコンが回転します。枠線付きなので複数並べたい際におすすめです。

アコーディオンのデザイン

プラスマイナスの付きのアコーディオン。開閉させるとアイコンが回転します。枠線付きなので複数並べたい際におすすめです。

step2
HTMLをコピペする
HTML
<details class="accordion-002">
    <summary>アコーディオンのデザイン</summary>
    <p>プラスマイナスの付きのアコーディオン。開閉させるとアイコンが回転します。枠線付きなので複数並べたい際におすすめです。</p>
</details>
<details class="accordion-002">
    <summary>アコーディオンのデザイン</summary>
    <p>プラスマイナスの付きのアコーディオン。開閉させるとアイコンが回転します。枠線付きなので複数並べたい際におすすめです。</p>
</details>
step3
CSSをコピペする
CSS
.accordion-002 {
    max-width: 500px;
    margin-bottom: 7px;
    border: 2px solid #2589d0;
    border-radius: 5px;
}

.accordion-002 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em;
    background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2028%2028%22%3E%0A%20%20%20%20%3Ccircle%20cx%3D%2214%22%20cy%3D%2214%22%20r%3D%2214%22%20style%3D%22fill%3A%232589d0%3B%22%2F%3E%0A%3C%2Fsvg%3E');
    background-position: right calc(2em - 7px) center;
    background-size: 22px;
    background-repeat: no-repeat;
    color: #2589d0;
    font-weight: 600;
    cursor: pointer;
}

.accordion-002 summary::-webkit-details-marker {
    display: none;
}

.accordion-002 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 5px;
    height: 5px;
    border-bottom: 3px solid #fff;
    border-right: 3px solid #fff;
    content: '';
    transition: transform .3s;
}

.accordion-002[open] summary::after {
    transform: rotate(225deg);
}

.accordion-002 p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: 0 2em 1.5em;
    color: #333333;
    transition: transform .5s, opacity .5s;
}

.accordion-002[open] p {
    transform: none;
    opacity: 1;
}
可愛いアコーディオンメニューの枠線付き&吹き出し風バージョン

枠線付き&吹き出し風

step1
デザインを調整する
  • 形状
  • アイコンの種類
これはどのようなテンプレートですか?

背景色付き&吹き出し風のアコーディオンメニューです。

どのような特徴がありますか?

吹き出しのおかげで、より対話をしているような印象を与えます。

step2
HTMLをコピペする
HTML
<details class="accordion-007">
    <summary>これはどのようなテンプレートですか?</summary>
    <p>背景色付き&吹き出し風のアコーディオンメニューです。</p>
</details>
<details class="accordion-007">
    <summary>どのような特徴がありますか?</summary>
    <p>吹き出しのおかげで、より対話をしているような印象を与えます。</p>
</details>
step3
CSSをコピペする
CSS
.accordion-007 {
    max-width: 500px;
    margin-bottom: 7px;
}

.accordion-007 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em;
    border: 2px solid #2589d0;
    border-radius: 5px;
    color: #2589d0;
    font-weight: 600;
    cursor: pointer;
}

.accordion-007 summary::-webkit-details-marker {
    display: none;
}

.accordion-007 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    border-bottom: 3px solid #2589d0;
    border-right: 3px solid #2589d0;
    content: '';
    transition: transform .3s;
}

.accordion-007[open] summary::after {
    transform: rotate(225deg);
}

.accordion-007 p {
    position: relative;
    transform: translateY(-10px);
    opacity: 0;
    margin-top: 20px;
    padding: .8em 1.2em;
    border: 2px solid #2589d0;
    border-radius: 5px;
    background-color: #fff;
    color: #333333;
    transition: transform .5s, opacity .5s;
}

.accordion-007[open] p {
    transform: none;
    opacity: 1;
}

.accordion-007 p::before,
.accordion-007 p::after {
    position: absolute;
    top: -15px;
    left: 1.2em;
    width: 30px;
    height: 15px;
    clip-path: polygon(50% 0, 0 100%, 100% 100%);
    content: '';
}

.accordion-007 p::before {
    background-color: #2589d0;
}

.accordion-007 p::after {
    top: -12px;
    background-color: #fff;
}
可愛いアコーディオンメニューの見出し風バージョン

見出し風

step1
デザインを調整する
  • アイコンの種類
これはどのようなテンプレートですか?

見出し風のアコーディオンメニューです。

どのような特徴がありますか?

目を引く可愛らしさとスタイリッシュさを兼ね備えています。

step2
HTMLをコピペする
HTML
<details class="accordion-005">
    <summary>これはどのようなテンプレートですか?</summary>
    <p>見出し風のアコーディオンメニューです。</p>
</details>
<details class="accordion-005">
    <summary>どのような特徴がありますか?</summary>
    <p>目を引く可愛らしさとスタイリッシュさを兼ね備えています。</p>
</details>
step3
CSSをコピペする
CSS
.accordion-005 {
    max-width: 500px;
}

.accordion-005:not([open]) {
    margin-bottom: 7px;
}

.accordion-005 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em;
    border-left: 5px solid #2589d0;
    background-color: #e6edf3;
    color: #333333;
    font-weight: 600;
    cursor: pointer;
}

.accordion-005 summary::-webkit-details-marker {
    display: none;
}

.accordion-005 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #b6bdc3;
    border-right: 3px solid #b6bdc3;
    content: '';
    transition: transform .3s;
}

.accordion-005[open] summary::after {
    transform: rotate(225deg);
}

.accordion-005 p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: 1em 2em 2em 2em;
    color: #333333;
    transition: transform .5s, opacity .5s;
}

.accordion-005[open] p {
    transform: none;
    opacity: 1;
}

シンプルなアコーディオンメニュー

シンプルなアコーディオンメニューの下線付きバージョン

下線付き

step1
デザインを調整する
  • アイコンの種類
アコーディオンのデザイン

下線だけのシンプルなアコーディオンメニュー。クセがなくどんなサイトでも使いやすいのが特徴です。

アコーディオンのデザイン

下線だけのシンプルなアコーディオンメニュー。クセがなくどんなサイトでも使いやすいのが特徴です。

step2
HTMLをコピペする
HTML
<details class="accordion-003">
    <summary>アコーディオンのデザイン</summary>
    <p>下線だけのシンプルなアコーディオンメニュー。クセがなくどんなサイトでも使いやすいのが特徴です。</p>
</details>
<details class="accordion-003">
    <summary>アコーディオンのデザイン</summary>
    <p>下線だけのシンプルなアコーディオンメニュー。クセがなくどんなサイトでも使いやすいのが特徴です。</p>
</details>
step3
CSSをコピペする
CSS
.accordion-003 {
    max-width: 500px;
    margin-bottom: 7px;
    border-bottom: 2px solid #d6dde3;
}

.accordion-003 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em;
    color: #333333;
    font-weight: 600;
    cursor: pointer;
}

.accordion-003 summary::-webkit-details-marker {
    display: none;
}

.accordion-003 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #333333b3;
    border-right: 3px solid #333333b3;
    content: '';
    transition: transform .3s;
}

.accordion-003[open] summary::after {
    transform: rotate(225deg);
}

.accordion-003 p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 2em 1.5em;
    color: #333333;
    transition: transform .5s, opacity .5s;
}

.accordion-003[open] p {
    transform: none;
    opacity: 1;
}
シンプルなアコーディオンメニューの枠線付きバージョン

枠線付き

step1
デザインを調整する
  • 形状
  • アイコンの種類
これはどのようなテンプレートですか?

枠線付きのシンプルなアコーディオンメニューです。

どのような特徴がありますか?

クセがなく、どんなサイトでも使いやすい汎用性があります。

step2
HTMLをコピペする
HTML
<details class="accordion-004">
    <summary>これはどのようなテンプレートですか?</summary>
    <p>枠線付きのシンプルなアコーディオンメニューです。</p>
</details>
<details class="accordion-004">
    <summary>どのような特徴がありますか?</summary>
    <p>クセがなく、どんなサイトでも使いやすい汎用性があります。</p>
</details>
step3
CSSをコピペする
CSS
.accordion-004 {
    max-width: 500px;
    margin-bottom: 7px;
    border: 2px solid #d6dde3;
    border-radius: 5px;
}

.accordion-004 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em;
    color: #333333;
    font-weight: 600;
    cursor: pointer;
}

.accordion-004 summary::-webkit-details-marker {
    display: none;
}

.accordion-004 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #333333b3;
    border-right: 3px solid #333333b3;
    content: '';
    transition: transform .3s;
}

.accordion-004[open] summary::after {
    transform: rotate(225deg);
}

.accordion-004 p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 2em 1.5em;
    color: #333333;
    transition: transform .5s, opacity .5s;
}

.accordion-004[open] p {
    transform: none;
    opacity: 1;
}
シンプルなアコーディオンメニューの背景色付きバージョン

背景色付き

step1
デザインを調整する
  • 形状
  • アイコンの種類
これはどのようなテンプレートですか?

背景色付きのシンプルなアコーディオンメニューです。

どのような特徴がありますか?

クセがなく、どんなサイトでも使いやすい汎用性があります。

step2
HTMLをコピペする
HTML
<details class="accordion-006">
    <summary>これはどのようなテンプレートですか?</summary>
    <p>背景色付きのシンプルなアコーディオンメニューです。</p>
</details>
<details class="accordion-006">
    <summary>どのような特徴がありますか?</summary>
    <p>クセがなく、どんなサイトでも使いやすい汎用性があります。</p>
</details>
step3
CSSをコピペする
CSS
.accordion-006 {
    max-width: 500px;
    margin-bottom: 7px;
    background-color: #e6edf3;
    border-radius: 5px;
}

.accordion-006 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em;
    color: #333333;
    font-weight: 600;
    cursor: pointer;
}

.accordion-006 summary::-webkit-details-marker {
    display: none;
}

.accordion-006 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #b6bdc3;
    border-right: 3px solid #b6bdc3;
    content: '';
    transition: transform .3s;
}

.accordion-006[open] summary::after {
    transform: rotate(225deg);
}

.accordion-006 p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 2em 1.5em;
    color: #333333;
    transition: transform .5s, opacity .5s;
}

.accordion-006[open] p {
    transform: none;
    opacity: 1;
}
シンプルなアコーディオンメニューの白背景×シャドウバージョン

白背景×シャドウ

step1
デザインを調整する
  • 形状
  • アイコンの種類
これはどのようなテンプレートですか?

白背景にシャドウを付けたアコーディオンメニューです。

どのような特徴がありますか?

シャドウのおかげで目立ちやすく、グレー系を背景色としている個所で使用するのがおすすめです。

step2
HTMLをコピペする
HTML
<details class="accordion-008">
    <summary>これはどのようなテンプレートですか?</summary>
    <p>白背景にシャドウを付けたアコーディオンメニューです。</p>
</details>
<details class="accordion-008">
    <summary>どのような特徴がありますか?</summary>
    <p>シャドウのおかげで目立ちやすく、グレー系を背景色としている個所で使用するのがおすすめです。</p>
</details>
step3
CSSをコピペする
CSS
.accordion-008 {
    max-width: 500px;
    margin-bottom: 10px;
    border-radius: 5px;
    box-shadow: 0 7px 15px -5px rgb(0 0 0 / 5%);
    background-color: #fff;
}

.accordion-008 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em;
    color: #333333;
    font-weight: 600;
    cursor: pointer;
}

.accordion-008 summary::-webkit-details-marker {
    display: none;
}

.accordion-008 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #333333b3;
    border-right: 3px solid #333333b3;
    content: '';
    transition: transform .3s;
}

.accordion-008[open] summary::after {
    transform: rotate(225deg);
}

.accordion-008 p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 2em 1.5em;
    color: #333333;
    transition: transform .5s, opacity .5s;
}

.accordion-008[open] p {
    transform: none;
    opacity: 1;
}