[装飾系]セレクトボックス ラジオボタンを使って作るセレクトボックス2

CSS HTML
 2018.02.05
 2018.03.22

ラジオボタンを使って作るセレクトボックス

ラジオボタンを使って作るセレクトボックスです。
ドロップダウンがニュっと広がります。

ラジオボタンのアレンジデザインについてはこちら

copypet.jp

コピペでできる!cssとhtmlのみでフォームのラジオボタンをわかりやすくするデザイン10選 | copypet.jp

フォームはサイトにはかならず必要になってくるアイテムですが、わかりやすく間違えにくいものにしたいですよね。 ラジオボタン[input type=”radio”]のデザインにエフェクトを追加することで、 今までよりワンランク上のわかりやすさを手に入れましょう。…

copypet.jp

記事を見る

browser:  65 11 20 10 
ニャン易度 
  • Choose
<div class="cp_ipselect">
<ul class="cp_sl08">
	<li>
	<input class="cp_sl08_close" type="radio" name="awesomeness" id="close" value=""/>
	<span class="cp_sl08_label cp_sl08_placeholder">Choose</span>
	</li>
	<li class="cp_sl08_items">
	<input class="cp_sl08_expand" type="radio" name="option08" id="opener"/>
	<label class="cp_sl08_closeLabel" for="close"></label>
		<ul class="cp_sl08_options">
		<li>
		<input class="cp_sl08_input" type="radio" name="option08" id="cat"/>
		<label class="cp_sl08_label" for="cat">cat</label>
		</li>
		<li>
		<input class="cp_sl08_input" type="radio" name="option08" id="dog"/>
		<label class="cp_sl08_label" for="dog">dog</label>
		</li>
		<li>
		<input class="cp_sl08_input" type="radio" name="option08" id="rabbit"/>
		<label class="cp_sl08_label" for="rabbit">rabbit</label>
		</li>
		<li>
		<input class="cp_sl08_input" type="radio" name="option08" id="squirrel"/>
		<label class="cp_sl08_label" for="squirrel">squirrel</label>
		</li>
		</ul>
	<label class="cp_sl08_expandLabel" for="opener"></label>
	</li>
</ul>
</div>
* {
	position: relative;
	margin: 0;
	padding: 0;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	border-color: inherit;
}
.cp_ipselect {
	display: block;
	width: 90%;
	height: 100%;
	margin: 2em auto;
}
.cp_ipselect ul {
	list-style: none;
	padding: 0;
}
.cp_ipselect input {
	color: inherit;
	font: inherit;
	margin: 0;
	background: transparent;
	outline: none;
	border: none;
	border-radius: 0;
	-webkit-appearance: none;
	        appearance: none;
	display:none;
}
.cp_sl08 {
	width: 100%;
	height: 100%;
	cursor: pointer;
	background-color: white;
	-webkit-box-shadow: 0 2px 0 white;
	        box-shadow: 0 2px 0 white;
	border-radius: 2px;
}
.cp_sl08_expand {
	width: 0;
	height: 40px;
	position: absolute;
	top: 0;
	right: 0;
}
.cp_sl08_expand::after {
	position: absolute;
	top: 1.2em;
	right: 0.5em;
	width: 0;
	height: 0;
	padding: 0;
	content: '';
	pointer-events: none;
	border-top: 6px solid rgba(0, 0, 0, 0.3);
	border-right: 6px solid transparent;
	border-left: 6px solid transparent;
	-webkit-transform: translate(-50%, -50%) rotate(0deg) scaleY(1.75);
	        transform: translate(-50%, -50%) rotate(0deg) scaleY(1.75);
	-webkit-transition: all 250ms cubic-bezier(0.4,0.25,0.3,1);
	        transition: all 250ms cubic-bezier(0.4,0.25,0.3,1);
	z-index: 2;
	opacity: 0.6;
}
.cp_sl08_expand:hover::after {
	opacity: 1;
}
.cp_sl08_expand:checked::after {
	-webkit-transform: translate(-50%, -50%) rotate(180deg) scaleX(-1) scaleY(1.75);
	        transform: translate(-50%, -50%) rotate(180deg) scaleX(-1) scaleY(1.75);
}
.cp_sl08_expandLabel {
	display: block;
	width: 100%;
	height: 40px;
	position: absolute;
	top: 0;
	left: 0;
	cursor: pointer;
}
.cp_sl08_close {
	display: none;
}
.cp_sl08_closeLabel {
	width: 100vw;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	display: none;
}
.cp_sl08_items {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	border: 2px solid #da3c41;
	border-radius: 2px;
	padding-top: 40px;
}
.cp_sl08_input {
	display: none;
}
.cp_sl08_label {
	-webkit-transition: all 250ms cubic-bezier(0.4,0.25,0.3,1);
	        transition: all 250ms cubic-bezier(0.4,0.25,0.3,1);
	display: block;
	height: 0;
	line-height: 40px;
	overflow: hidden;
	color: #3e3e3e;
	background-color: #ffffff;
	cursor: pointer;
	padding-left: 20px;
}
.cp_sl08_placeholder {
	height: 40px;
	vertical-align: middle;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0.6;
	background-color: transparent;
}
.cp_sl08_expand:checked + .cp_sl08_closeLabel {
	display: block;
}
.cp_sl08_expand:checked + .cp_sl08_closeLabel + .cp_sl08_options .cp_sl08_label {
	height: 40px;
}
.cp_sl08_expand:checked + .cp_sl08_closeLabel + .cp_sl08_options .cp_sl08_label:hover {
	background-color: #f7f7f7;
}
.cp_sl08_expand:checked + .cp_sl08_closeLabel + .cp_sl08_options + .cp_sl08_expandLabel {
	display: none;
}
.cp_sl08_input:checked + .cp_sl08_label {
	height: 40px;
	margin-top: -40px;
}

copypet.jp

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

More Info

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