【コピペで簡単】クリック展開 アコーディオン(折りたたみ)CSSボタン

/ 5月 31, 2017/ デザイン

今回は、こんな(↓)アコーディオンボタンを作ってみたので、ご紹介します。

コピペするだけ、簡単です。

 

ここに文字を入れるよ!

 

アコーディオン(折りたたみ)ボタン CSSテンプレート

本来、この機能は、ちょっとムズカシイ

このパーツは、

「クリックして、開いたり閉じたりする、アコーディオン(メニュー・ボタン)」

「クリックで、表示・非表示を切り替える、折りたたみ(メニュー・ボタン・パネル)」

など、いろんな呼ばれ方をされており、とっても便利なもの。

ただ、実装には「Java Script」や「jQuery」など、スクリプトで定義することが多く、初心者には難しいところがありました。

また、「onclick」タグを使えば、HTMLに書き込むだけで使えるものもありますが、「WordPress」では、エディタを切り替えると、「onclick」タグが消えてしまうので、「PHPでショートコードを作る」など、面倒な作業が必要だったり。。

 

そこで、今回「2か所にコピペするだけでOK」の、CSSだけテンプレートを作ってみました。

 

CSSだけ アコーディオンボタン

HTML

<div class="ac-container">
<input id="ac-1" name="accordion-1" type="checkbox" />
<label for="ac-1"> クリックしてね </label>
<div class="ac-small">
<p>ここに文字を入れるよ!</p>
</div>
</div>

 

CSS

/* アコーディオン */
.ac-container{
    width: auto;
    margin: 30px auto;
}
.ac-container label{
    width: 300px;
    text-align: center;
    background: #ff9b9b;
    margin: auto;
    padding: 10px 5px;
    position: relative;
    display: block;
    height: 40px;
    cursor: pointer;
    color: #fff;
}
.ac-container label:hover{
    background: rgba( 255, 155, 155, 0.55 );
    -webkit-transition: all .3s;
    transition: all .3s;
}
.ac-container label:after{
 color: #fff;
    font-family:"FontAwesome";
    content:"\f067";
}
.ac-container input:checked ~ label::after {
 color: #fff;
   font-family:"FontAwesome";
   content:"\f068";
}
.ac-container input{
   display: none;
}
.ac-container div{
   background: rgba(255, 255, 255, 0.5);
   margin-top: -1px;
   overflow: hidden;
   height: 0px;
   position: relative;
   z-index: 10;
   transition: 
   height 0.3s ease-in-out, 
   box-shadow 0.6s linear;
}
.ac-container input:checked ~ div{
   transition: 
   height 0.5s ease-in-out, 
   box-shadow 0.1s linear;
   box-shadow: 0px 0px 0px 1px rgba(155,155,155,0.3);
}
.ac-container div p{
   color: #777;
   line-height: 23px;
   font-size: 14px;
   padding: 20px;
}
/* 高さの定義 */
.ac-container input:checked ~ div.ac-small{
   height: 150px;
}
.ac-container input:checked ~ div.ac-medium{
   height: 200px;
}
.ac-container input:checked ~ div.ac-large{
   height: 300px;
}

 

使い方

まず「CSS」コードを、利用されているテーマの「スタイルシート」に、追加します。「外観」→「テーマの編集」から、テーマの「style.css」に、上記をコピーし、「ファイルを更新」してください。

その後、このパーツを使いたい場所に、「HTML」コードを挿入すれば、OKです。

 

※HTMLコードは、コチラ(↓)のプラグインを使うと、ワンクリックで使えて便利です。

「AddQuicktag」で、面倒なタグ打ちから、オサラバ!

 

また、少しだけ、補足解説を。

 

  •  ラベルの背景色を変えたい場合、「.ac-container label」内の、「background: #ff9b9b;」を、好きなカラーにしてね。その時は、マウスを合わせた時のホバー色「.ac-container label:hover」内の、「background: rgba( 255, 155, 155, 0.55 );」のRGB値も合わせて、変えてね

 

  •  高さは可変ではないので、「/* 高さの定義 */」で、お好きな高さを設定して、使ってくださいね

 

まとめ

このパーツは、組み合わせ次第で、いろんな活用ができる便利ツールです。CSSだけで作ると、動作が軽く、リスクも少ないので、オススメです。

また表示・非表示に合わせて、「+」⇔「-」と変わるところは、アイコンを割り当てているだけなので、お好きなアイコンに変えて使ってくださいね。

今回ご紹介した内容は、自分用に作ったメモ的な部分もあり、まだ改良の余地があるのですが、それも踏まえて、今後も更新していきたいと思います!

 

コチラもおすすめです

【コピペで簡単】タイトル(見出し)CSSテンプレート 15選

直感的に、すぐ配色セットを選べる、本当に使えるカラーサイト7選

 

1 Comment

  1. Pingback: AffingerでアコーディオンボタンをCSSだけで設置する方法 | パンダが空を

コメントを残す