こんにちは、みったにです。
開閉ボタンで要素を表示したり、非表示にしたりする方法を紹介します。
例えば、こんな感じのボタンです。
ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。
ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。
ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。
開閉ボタンで表示・非表示をHTMLとCSSで作る方法
下記のコードをコピペします。
HTML
<div class="toc_box">
<input id="toc01" type="checkbox"><label for="toc01"></label>
<div class="toc_container">
<!-- ここに書きたいことを入れます -->
</div>
</div>
CSS
.toc_box *, .toc_box *:before, .toc_box *:after {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.toc_box {
position: relative;
}
.toc_box label {
position: absolute;
z-index: 1;
bottom: 0;
left: 0;
width: 100%;
height: 140px;
cursor: pointer;
text-align: center;
/* グラデーション */
background: linear-gradient(to bottom, rgba(250, 252, 252, 0) 0%, rgba(250, 252, 252, 0.95) 90%);
margin-bottom:0;
}
.toc_box input:checked + label {
background: inherit;
}
.toc_box label:after {
line-height: 2.5rem;
position: absolute;
z-index: 2;
bottom: 0px;
left: 50%;
width: 16rem;
content: 'READ MORE';
transform: translate(-50%, 0);
letter-spacing: 0.05em;
border: 1px solid #909090;
color: #7B7B7B;
background-color: #ffffff;
padding: 15px 33px 14px;
}
.toc_box input {
display: none;
}
.toc_box .toc_container {
overflow: hidden;
height: 200px;
transition: all 0.5s;
margin-bottom: 30px;
}
.toc_box input:checked ~ label:after {
content: 'CLOSE';
}
.toc_box input:checked ~ .toc_container {
height: auto;
padding-bottom: 80px;
transition: all 0.5s;
}
これで表現できるはずです!
とても簡単ですね(* ‘ー’)ノ