[パーツ]Q&A カテゴリーごとにタブ分けしたQ&Aデザイン

CSS HTML
 2018.02.13
 2018.03.20

カテゴリーごとにタブ分けしたQ&Aデザイン

カテゴリーごとにタブ分けしたQ&Aデザインです。
QA自体はアコーディオンメニューを利用したものです。
Q&Aが多い時などに便利です。

browser:  65 11 20 10 
ニャン易度 
+
答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text.
+
答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text.
+
答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text.

説明テキスト 説明テキスト 説明テキスト

+
答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text.
+
答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text.

説明テキスト 説明テキスト 説明テキスト

+
答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text.
+
答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text.

説明テキスト 説明テキスト 説明テキスト

+
答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text.
+
答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text. 答えテキスト answer text.
<div class="cp_qa">
<input id="cp_conttab1" type="radio" name="tabs" checked>
<label for="cp_conttab1" class="cp_tabitem">category</label>
<input id="cp_conttab2" type="radio" name="tabs">
<label for="cp_conttab2" class="cp_tabitem">category</label>
<input id="cp_conttab3" type="radio" name="tabs">
<label for="cp_conttab3" class="cp_tabitem">category</label>
<input id="cp_conttab4" type="radio" name="tabs">
<label for="cp_conttab4" class="cp_tabitem">category</label>
<div id="cp_content1">
	<div class="cp_qain">
		<div class="cp_actab">
			<input id="cp_tabfour051" type="checkbox" name="tabs">
			<div class="cp_plus">+</div>
			<label for="cp_tabfour051">質問テキスト</label>
			<div class="cp_actab-content">答えテキスト</div>
		</div>
		<div class="cp_actab">
			<input id="cp_tabfour052" type="checkbox" name="tabs">
			<div class="cp_plus">+</div>
			<label for="cp_tabfour052">質問テキスト 質問テキスト</label>
			<div class="cp_actab-content">答えテキスト</div>
		</div>
		<div class="cp_actab">
			<input id="cp_tabfour053" type="checkbox" name="tabs">
			<div class="cp_plus">+</div>
			<label for="cp_tabfour053">質問テキスト 質問テキスト</label>
			<div class="cp_actab-content">答えテキスト</div>
		</div>
	</div>
</div>
<div id="cp_content2">
	<p>説明テキスト 説明テキスト 説明テキスト</p>
	<div class="cp_qain">
		<div class="cp_actab">
			<input id="cp_tabfour054" type="checkbox" name="tabs">
			<div class="cp_plus">+</div>
			<label for="cp_tabfour054">質問テキスト</label>
			<div class="cp_actab-content">答えテキスト</div>
		</div>

		<div class="cp_actab">
			<input id="cp_tabfour055" type="checkbox" name="tabs">
			<div class="cp_plus">+</div>
			<label for="cp_tabfour055">質問テキスト 質問テキスト</label>
			<div class="cp_actab-content">答えテキスト</div>
		</div>
	</div>
</div>
<div id="cp_content3">
	<p>説明テキスト 説明テキスト 説明テキスト</p>
	<div class="cp_qain">
		<div class="cp_actab">
			<input id="cp_tabfour056" type="checkbox" name="tabs">
			<div class="cp_plus">+</div>
			<label for="cp_tabfour056">質問テキスト</label>
			<div class="cp_actab-content">答えテキスト</div>
		</div>
		<div class="cp_actab">
			<input id="cp_tabfour057" type="checkbox" name="tabs">
			<div class="cp_plus">+</div>
			<label for="cp_tabfour057">質問テキスト 質問テキスト</label>
			<div class="cp_actab-content">答えテキスト</div>
		</div>
	</div>
</div>
<div id="cp_content4">
	<p>説明テキスト 説明テキスト 説明テキスト</p>
	<div class="cp_qain">
		<div class="cp_actab">
			<input id="cp_tabfour058" type="checkbox" name="tabs">
			<div class="cp_plus">+</div>
			<label for="cp_tabfour058">質問テキスト</label>
			<div class="cp_actab-content">答えテキスト</div>
		</div>
		<div class="cp_actab">
			<input id="cp_tabfour059" type="checkbox" name="tabs">
			<div class="cp_plus">+</div>
			<label for="cp_tabfour059">質問テキスト 質問テキスト</label>
			<div class="cp_actab-content">答えテキスト</div>
		</div>
	</div>
</div>
</div>
.cp_qa *, .cp_qa *:before, .cp_qa *:after {
	font-family: 'FontAwesome', sans-serif;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.cp_qa {
	margin: 0 auto;
	background: #ffffff;
}
.cp_qa input {
	display: none;
}
/* カテゴリー */
.cp_qa #cp_content1,
.cp_qa #cp_content2,
.cp_qa #cp_content3,
.cp_qa #cp_content4 {
	display: none;
	padding: 20px 0 0;
	border-top: 1px solid #dddddd;
}
.cp_qa label.cp_tabitem {
	display: inline-block;
	margin: 0 0 -1px;
	padding: 15px 25px;
	text-align: center;
	color: #bbbbbb;
	border: 1px solid transparent;
}
.cp_qa label.cp_tabitem:before {
	margin-right: 10px;
}
.cp_qa label.cp_tabitem[for*='1']:before { content: '\f2bd'; }
.cp_qa label.cp_tabitem[for*='2']:before { content: '\f15c'; }
.cp_qa label.cp_tabitem[for*='3']:before { content: '\f0f4'; }
.cp_qa label.cp_tabitem[for*='4']:before { content: '\f001'; }
.cp_qa label.cp_tabitem:hover {
	cursor: pointer;
	color: #888888;
}
.cp_qa input:checked + label {
	color: #555555;
	border: 1px solid #dddddd;
	border-bottom: 1px solid #ffffff;
}
/* --ブロックのバーの色 */
.cp_qa input:checked + label[for*='1'] {
	border-top: 5px solid #00BCD4;
}
.cp_qa input:checked + label[for*='2'] {
	border-top: 5px solid #FF5722;
}
.cp_qa input:checked + label[for*='3'] {
	border-top: 5px solid #03A9F4;
}
.cp_qa input:checked + label[for*='4'] {
	border-top: 5px solid #E91E63;
}
@media screen and (max-width: 650px) {
	.cp_qa label.cp_tabitem {
		font-size: 0;
	}
	label:before {
		font-size: 18px;
		margin: 0;
	}
}
@media screen and (max-width: 400px) {
	.cp_qa label.cp_tabitem {
		padding: 15px;
	}
	.cp_qa label.cp_tabitem:before {
		margin-right: 0px;
	}
}
/* QAブロック */
.cp_qa #cp_conttab1:checked ~ #cp_content1,
.cp_qa #cp_conttab2:checked ~ #cp_content2,
.cp_qa #cp_conttab3:checked ~ #cp_content3,
.cp_qa #cp_conttab4:checked ~ #cp_content4 {
  display: block;
}
.cp_qa .cp_qain {
	overflow-x: hidden;
	margin: 0 auto;
	color: #333333;
}
.cp_qa .cp_qain .cp_actab {
	padding: 20px 0;
	border-bottom: 1px dotted #cccccc;
}
/* 質問 */
.cp_qa .cp_qain label {
	position: relative;
	display: block;
	width: 100%;
	margin: 0;
	padding: 10px 10px 0 48px;
	cursor: pointer;
}
/* +アイコン */
.cp_qa .cp_qain .cp_plus {
	font-size: 2em;
	line-height: 100%;
	position: absolute;
	z-index: 5;
	margin-top: 3px;
	margin-left: 10px;
	-webkit-transition: 0.2s ease;
	        transition: 0.2s ease;
}

/* 答え */
.cp_qa .cp_qain .cp_actab-content {
	position: relative;
	overflow: hidden;
	height: 0;
	margin: 0 10px 0 48px;
	padding: 14px 0;
	-webkit-transition: 0.4s ease;
	        transition: 0.4s ease;
	opacity: 0;
}
/* 質問を開いた時の仕様 */
.cp_qa .cp_qain .cp_actab input[type=checkbox]:checked ~ .cp_actab-content {
	height: auto;
	opacity: 1;
}
/* 質問をクリックした時の▼アイコンの動き */
.cp_qa .cp_qain .cp_actab input[type=checkbox]:checked ~ .cp_plus {
	-webkit-transform: rotate(45deg);
	        transform: rotate(45deg);
}

copypet.jp

CSS3などで新たに追加された要素・装飾方法など、日々コードを書いていないと忘れてしまったり、ささっとプロトタイプを作る時などちょっとしたことに時間をかけている暇はない。そんな時に「あ〜、あれストックしときゃよかったなぁ」って困った自分用のストックブログです。カスタマイズなどがしやすいよう、昨今のweb制作に取り入れられる一般的なコードを中心に掲載しています。

More Info

こんな記事はいかがですか?