インスタ風グラデのアコーディオン
DEMO
本文1
本文2
本文3
HTMLとCSSをまとめてコピーする
HTML
<div class="accordion2">
<div class="option">
<input type="checkbox" id="toggle1" class="toggle">
<label class="title" for="toggle1">タイトル1</label>
<div class="content">
<p>本文1</p>
</div>
</div>
<div class="option">
<input type="checkbox" id="toggle2" class="toggle">
<label class="title" for="toggle2">タイトル2</label>
<div class="content">
<p>本文2</p>
</div>
</div>
<div class="option">
<input type="checkbox" id="toggle3" class="toggle">
<label class="title" for="toggle3">タイトル3</label>
<div class="content">
<p>本文3</p>
</div>
</div>
</div>
HTMLをコピーする
HTML説明
タイトルの設定方法
「タイトル1~3(5.13.21行目)」のテキストを任意の文字に書き換えてください。
本文の設定方法
「本文1~3(7.15.23行目)」のテキストを任意の文字に書き換えてください。
文は改行することなく続きます。開業が必要な場合は<br>を改行したい箇所に入力してください。
注意ポイント
HTMLを書き換える際は該当するテキストのみを書き換えるようにしてください。
前後の「」のような記述が抜けるだけで崩れる可能性があるのでご注意ください。
CSS
<style>
.accordion2 {
margin: 3em auto;
max-width: 60vw;
}
.toggle {
display: none;
}
.option {
position: relative;
margin-bottom: 1em;
}
.title,
.content {
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
transform: translateZ(0);
transition: all 0.3s;
}
.title {
padding: 1em;
display: block;
color: #FFF;
font-weight: bold;
border-radius: 10px;
background: linear-gradient(135deg, #f9c205 0%, #df173b 50%, #833fb5 100%) no-repeat;
}
.title::after,
.title::before {
content: "";
position: absolute;
right: 1.25em;
top: 1.25em;
width: 2px;
height: 0.75em;
background-color: #FFF;
transition: all 0.3s;
}
.title::after {
transform: rotate(90deg);
}
.content {
max-height: 0;
overflow: hidden;
}
.content p {
margin: 0;
font-size: 0.9em;
line-height: 1.5;
}
.toggle:checked + .title + .content {
max-height: 500px;
transition: all 1.5s;
background: #FFF;
border: solid 5px #000;
border-image: linear-gradient(to right, #f9c205 0%, #df173b 50%, #833fb5 100%);
border-image-slice: 1;
border-radius: 20px;
padding: 20px;
margin-top: 10px;
}
.toggle:checked + .title::before {
transform: rotate(90deg) !important;
}
</style>
cssをコピーする
CSS説明
グラデーションの色の方法
「色コード+%(タイトル26行目/本文の枠線57行目)」を任意のものに書き換えてください。
色(#000000)を範囲のどの位置(0~100%)に置くかを指定しています。
DEMOでは3色を0・50・100%の位置に置いています。(#f9c205 0%, #df173b 50%, #833fb5 100%)