CSS だけでアコーディオンを実装しました (Lightning 無料版)

この記事はアフィリエイト広告を利用しています。

こんにちは、魚沼情報サービスの対馬です。

先日、以下の記事で Lightning 無料版でアコーディオンを実装するやり方を紹介しました。

アコーディオンを実装しました (VK Blocks 無料版)

VK Blocks Pro にはアコーディオンブロックが含まれていますが、無料版の VK Blocks にはないので、アコーディオンブロック相当のものを作ってみました。

上記の記事では JavaScript を使うやり方を紹介していますが、今回は JavaScript を使わずに CSS だけでアコーディオンを作るやり方を紹介します。

手順① グループブロックに カスタム HTML とグループを入れる

ブロックを組みあわせて、以下のように作ります。赤字で示したものはグループブロックに割り当てる 追加 CSS クラス です。

グループブロックに カスタム HTML とグループを入れる

手順② カスタム HTML ブロック

カスタム HTML ブロックに以下のように入力します。

<input type="checkbox" id="accordion-check">
<label for="accordion-check" class="css-accordion-title">
クリックして、CSS だけでアコーディオンを作る方法を見る
<span class="fa-icon"></span>
</label>

手順③ CSS

以下の CSS を追加します。

.css-accordion {
border: 1px solid var(--vk-color-border);
border-radius: calc(var(--vk-size-text)*0.5);
margin-bottom: 2.0em;
}

.css-accordion-title {
display: block;
pointer-events: all;
cursor: pointer;
position: relative;
padding-top: calc(var(--vk-size-text)*1);
padding-right: calc(var(--vk-size-text)*2);
padding-bottom: calc(var(--vk-size-text)*1);
padding-left: calc(var(--vk-size-text)*1);
border-radius: calc(var(--vk-size-text)*0.5) calc(var(--vk-size-text)*0.5) 0 0;
background-color: rgba(0,0,0,.05);
margin-bottom: 0;
margin-block-start: 0 !important;
}

.css-accordion input[type=checkbox] {
display: none;
}

.css-accordion input ~ .css-accordion-content {
max-height: 0;
padding-right: calc(var(--vk-size-text)*1);
padding-left: calc(var(--vk-size-text)*1);
overflow: hidden;
transition: all 0.3s ease-in;
margin-block-start: 0 !important;
}

.css-accordion input:checked ~ .css-accordion-content {
max-height: 9999px;
padding-top: calc(var(--vk-size-text)*2);
padding-bottom: calc(var(--vk-size-text)*2);
}

.css-accordion span.fa-icon::before {
display: block;
font-family: "Font Awesome 6 Free";
font-weight: bold;
position: absolute;
top: calc(var(--vk-size-text)*1);
right: 10px;
content: "\f055";
font-size: 1.5em;
color: #666666;
}

.css-accordion input:checked + label span.fa-icon::before {
content: "\f056";
}

2022.1.26 機能追加 アコーディオンの開閉に合わせて Font Awesome アイコンを切り替えるようにしました。

2022.12.2 CSS 調整 Lightning 15.1.3 にアップデートして theme.json を有効化したことにより必要になった CSS の調整を行いました。

2022.12.2 CSS 調整 アイコン部分をクリックしてもアコーディオンが開くようにしました。

2023.1.4 CSS 調整 アコーディオン上下の不要な余白が表示されないようにしました。これも theme.json 有効化の影響のようで、以下の CSS の影響を受けています。

body .is-layout-flow > * + * {
    margin-block-start: 24px;
}

補足 同一ページで複数のアコーディオンを使うには

このままだとひとつのページにひとつのアコーディオンしか使えません。

2つめ以降のアコーディオンは、カスタム HTML ブロック内の label と input の accordion-check の部分を accordion-check-2, accordion-check-3 ... のように別のものに書き換えればオッケーです。

この手のカスタマイズがお好きな方はご参考にどうぞ。そうでない方におすすめなのが VK Blocks Pro !!

VK Blocks Pro をインストールすれば、手間をかけなくてもアコーディオンブロックを含む超便利なブロックをたくさん使えるんです (^^♪

VK Blocks Pro で使えるブロック
VK Blocks Pro で使えるブロック

VK Blocks Pro の入手方法

VK Blocks Pro は有料の WordPress プラグインですが、単体では販売されていなくて、Vektor Passport というライセンス製品に含まれて販売されています。

Vektor Passport は、コピペで使える豊富なプロ品質プレミアムパターン、Lightning G3 Pro Unit、VK Blocks Pro を好きなだけ使える大変お得なライセンス製品です。ライセンス1つで自分が制作・管理する複数のサイトに使うことができます。ライセンス期間は 1年 / 3年 / 5年 から選べます。

Vektor Passport(ライセンス期間1年)
Vektor Passport(ライセンス期間3年)
Vektor Passport(ライセンス期間5年)

投稿者プロフィール

対馬 俊彦
対馬 俊彦魚沼情報サービス (新潟県南魚沼市)
WordPress を使用したサイト制作・カスタマイズを全国どこからでも承ります。ベクトルが販売している WordPress テーマ「Lightning」「Katawara」および同社のプラグイン「VK Blocks」「VK Filter Search」のカスタマイズを得意としています。遠方からのご依頼の場合、打ち合わせ・サポートを Zoom や電子メール・電話などを併用して行わせていただきます。

オンラインレッスン形式でのホームページ制作サポートも行っています。お客様ご自身でホームページを開設・運用する上で、うまくいかない部分をサポートいたします。設定やカスタマイズを手伝ってもらいたい、同時に便利な使い方や設定方法、カスタマイズのやり方も知ることができたら...という方にご好評いただいています。

このサイトで行っているカスタマイズのやり方の多くもマンツーマンのオンラインレッスン形式などでわかりやすく説明させていただくことができますので、興味がある方はご連絡ください。

* ドメインやサーバーの契約・申込み
* WordPress やテーマ、プラグインのインストール
* アクションフック・フィルターフック・jQuery・CSS によるカスタマイズ
* ドメインの移管・移転
* 日常の更新作業
なども含めて、サイトの制作・運用全般をお手伝いできます。

また、制作業者様のサイト制作のお手伝いも数多く行っております。いま人手が足りない、ちょっとここだけコーディングを頼みたい、等々… お仕事の依頼をお待ちしています。

ご要望をうかがった上で費用見積り(無料)を提示させていただきますので、お気軽にお問い合わせください。

» ご相談・お問い合わせはこちらからどうぞ

今よりもっといい WordPress サイトにしたいなら Vektor Passport がおすすめ

ベクトルから発売されている有料プラグイン Lightning G3 Pro Unit / VK Blocks Pro を使えば、このサイトで紹介しているようなコードを書かずにかんたんにカスタマイズできることがたくさんあります。

名前に Pro がついているので「制作のプロ向け製品」という印象を受けるかもしれませんが、
*もっといいサイトにしたい
* 効率よく作成・運用・管理をしたい
と考えているコーポレートサイトの担当者にこそ使っていただく価値がある製品です。

Lightning G3 Pro Unit / VK Blocks Pro は Vektor Passport というライセンス製品で販売されています(個々の単体販売はされていません)。これらのプラグインを使うと、便利なカスタマイズ機能やリッチなコンテンツ制作に役立つブロックをたくさん利用できるようになりますので、効率的にサイトを制作・運用したい方はぜひお使いになることをおすすめします。