menu
menu

キーワード検索

 

最近の投稿

CSSだけでブロック要素の表示非表示

  • Labs

CSS3

こんにちは(・∀・)

CSSだけで作ってみましたシリーズです。今回はCSSだけでブロック要素の表示非表示です。

1. チェックボックスで要素の表示非表示(トグルボタンの)のサンプル

サンプルデモ

サンプルデモはこちら

HTML

<div class="container">
<div class="top">
<p>listen,<br>
overlook,<br>
voice,<br>
effort.</p>
</div>
<label for="btn">≫</label>
<input id="btn" type="checkbox">
<div class="btm">
<p>相手のいいたいことをきいてあげようという思いやり。<br>
相手の悪いところを大目にみてあげようという寛大さ。<br>
自分の気持ちや心を言葉で表すこと。<br>
あきらめずお互いに努力すること。</p>
</div>
<br>
<div class="top">
<p>listen, overlook, voice, effort. listen, overlook, voice, effort.</p>
</div>
<label for="btn2" class="btn2">≫</label>
<input id="btn2" type="checkbox">
<div class="btm">
<p>相手のいいたいことをきいてあげようという思いやり。相手の悪いところを大目にみてあげようという寛大さ。自分の気持ちや心を言葉で表すこと。あきらめずお互いに努力すること。相手のいいたいことをきいてあげようという思いやり。相手の悪いところを大目にみてあげようという寛大さ。自分の気持ちや心を言葉で表すこと。あきらめずお互いに努力すること。</p>
</div>
<!--container--></div>
CSS

.container {
	margin: 0 auto;
	text-align: left;
}
.container input {
	display: none;
}
.container label {
	color: #4776AF;
	cursor: pointer;
	padding: 0 10px;
}
.container label:hover {
	color: #ccc;
}
.container .top {
	padding: 10px;
	background: #fff;
}
.container .btm {
	transition: 0.2s;
	height: 0;
	overflow: hidden;
	padding: 0 10px;
}
.container .btn {
	text-align: left;
	display: block;
	width: 80px;
	margin: 0;
}
.container .btn2 {
	text-align: center;
	display: block;
	width: 80px;
	margin: 0 auto;
}
.container input:checked + .btm {
	height: auto;
	padding: 0 10px 10px 10px;
	background: #fff;
}

2-1. ラジオボタンで要素の表示非表示サンプル

サンプルデモ

サンプルデモはこちら

HTML

<div class="container">
<div class="top">
<p><p>listen,<br>
overlook,<br>
voice,<br>
effort.</p></p>
</div>
<label for="topbtn" class="topbtn">More ≫</label>
<input id="topbtn" type="radio" name="oo">
<div class="btm">
<p>相手のいいたいことをきいてあげようという思いやり。<br>
相手の悪いところを大目にみてあげようという寛大さ。<br>
自分の気持ちや心を言葉で表すこと。<br>
あきらめずお互いに努力すること。</p>
<label for="btmbtn" class="btmbtn">≪ Close</label>
<input id="btmbtn" type="radio" name="oo">
</div>
<br>
<div class="top">
<p><p>listen, overlook, voice, effort. listen, overlook, voice, effort.</p></p>
</div>
<label for="topbtn2" class="topbtn2">More ≫</label>
<input id="topbtn2" type="radio" name="oo2">
<div class="btm">
<p>相手のいいたいことをきいてあげようという思いやり。相手の悪いところを大目にみてあげようという寛大さ。自分の気持ちや心を言葉で表すこと。あきらめずお互いに努力すること。相手のいいたいことをきいてあげようという思いやり。相手の悪いところを大目にみてあげようという寛大さ。自分の気持ちや心を言葉で表すこと。あきらめずお互いに努力すること。</p>
<label for="btmbtn2" class="btmbtn2">≪ Close</label>
<input id="btmbtn2" type="radio" name="oo2">
</div>
<!--container--></div>
CSS

.container {
	margin: 0 auto;
	text-align: left;
}
.container input {
	display: none;
}
.container label {
	color: #4776AF;
	cursor: pointer;
	padding: 0 10px;
}
.container label:hover {
	color: #ccc;
}
.container .top {
	padding: 10px;
	background: #fff;
}
.container .btm {
	transition: 0.2s;
	height: 0;
	overflow: hidden;
	padding: 0 10px;
}
.container .topbtn,
.container .btmbtn {
	text-align: left;
	display: block;
	width: 80px;
	margin: 0;
}
.container .topbtn2,
.container .btmbtn2 {
	text-align: center;
	display: block;
	width: 80px;
	margin: 0 auto;
}
.container input:checked + .btm {
	height: auto;
	padding: 0 10px 10px 10px;
	background: #fff;
}

2-2. ラジオボタンで要素の表示非表示サンプル

サンプルデモ

サンプルデモはこちら

HTML

<div class="container">
<div class="top">
<p>listen,<br>
overlook,<br>
voice,<br>
effort.</p>
</div>
<label for="topbtn" class="topbtn">More ≫</label>
<input id="topbtn" type="radio" name="oo">
<div class="btm">
<p>相手のいいたいことをきいてあげようという思いやり。<br>
相手の悪いところを大目にみてあげようという寛大さ。<br>
自分の気持ちや心を言葉で表すこと。<br>
あきらめずお互いに努力すること。</p>
<label for="btmbtn" class="btmbtn">≪ Close</label>
<input id="btmbtn" type="radio" name="oo">
</div>
<br>
<div class="top">
<p>listen, overlook, voice, effort. listen, overlook, voice, effort.</p>
</div>
<label for="topbtn2" class="topbtn2">More ≫</label>
<input id="topbtn2" type="radio" name="oo2">
<div class="btm">
<p>相手のいいたいことをきいてあげようという思いやり。相手の悪いところを大目にみてあげようという寛大さ。自分の気持ちや心を言葉で表すこと。あきらめずお互いに努力すること。相手のいいたいことをきいてあげようという思いやり。相手の悪いところを大目にみてあげようという寛大さ。自分の気持ちや心を言葉で表すこと。あきらめずお互いに努力すること。</p>
<label for="btmbtn2" class="btmbtn2">≪ Close</label>
<input id="btmbtn2" type="radio" name="oo2">
</div>
<!--container--></div>
CSS

.container {
	margin: 0 auto;
	text-align: left;
}
.container input {
	display: none;
}
.container label {
	color: #4776AF;
	cursor: pointer;
	padding: 0 10px;
}
.container label:hover {
	color: #ccc;
}
.container .top {
	padding: 10px;
	background: #fff;
}
.container .btm {
	height: 0;
	overflow: hidden;
	padding: 0 10px;
}
.container .topbtn,
.container .btmbtn {
	text-align: left;
	display: block;
	width: 80px;
	margin: 0;
}
.container .topbtn2,
.container .btmbtn2 {
	text-align: center;
	display: block;
	width: 80px;
	margin: 0 auto;
}
.container input:checked + .btm {
	margin-top: -36px;
	height: auto;
	padding: 0 10px 10px 10px;
	background: #fff;
	position: relative;
	z-index: 2;
}
関連リンク

jQueryで要素の表示非表示
JavaScriptで要素の表示非表示

  • カテゴリー:Labs