<div id="wrap">
<label for="select01">라벨</label>
<select id="select01" class="select">
<option>선택</option>
</select>
<div class="selContainer">
<label>라벨</label>
<div class="customSelect">
<ul>
<li>
<span>선택</span>
<ul class="selList">
<li>
<span>리스트1</span>
</li>
<li>
<span>리스트2</span>
</li>
<li>
<span>리스트3</span>
</li>
<li>
<span>리스트4</span>
</li>
</ul>
</li>
</ul>
</div>
<div class="customSelect">
<ul>
<li>
<span>선택</span>
<ul class="selList">
<li>
<span>리스트1</span>
</li>
<li>
<span>리스트2</span>
</li>
<li>
<span>리스트3</span>
</li>
<li>
<span>리스트4</span>
</li>
</ul>
</li>
</ul>
</div>
</div>
</div>
.select{display: inline-block; height: 30px; border: 1px solid #ddd; padding: 0 5px; box-sizing: border-box;
font-family: 'Noto Sans'; border-radius: 2px; color: #222; vertical-align: middle;background-color: #fff;}
label{color: #000; font-family: "Noto Sans";}
.selContainer{display: flex;
label{display: flex;align-items: center; margin-right: 7px;}
}
.customSelect{display: flex; flex: 1;
>ul{flex: 1;
>li{flex: 1; position: relative; border: 1px solid #ddd;
width: 210px; height: 30px; text-indent: 5px; box-sizing: border-box; background: url("../images/ico/ico-select-down.svg")no-repeat center right 10px;
span{flex: 0.975; display: block; line-height: 28px; color: #222; font-family: 'Noto Sans'; cursor: pointer;}
.selList{display: none; position: absolute; top: 29px; left: -1px; width: 100%; z-index: 200;
border: 1px solid #ddd; border-top: 0; border-radius: 0 0 4px 4px; background-color: #fff;
li{
&:hover{background-color: #3399ff;
span{color: #fff;}
}
}
}
}
}
&.active{
ul li .selList{display: block;}
}
+.customSelect{margin-left: 10px;}
}
label {
color: #000;
font-family: "Noto Sans";
}
.selContainer {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}
.selContainer label {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
margin-right: 7px;
}
.customSelect {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-flex: 1;
-ms-flex: 1;
flex: 1;
}
.customSelect > ul {
-webkit-box-flex: 1;
-ms-flex: 1;
flex: 1;
}
.customSelect > ul > li {
-webkit-box-flex: 1;
-ms-flex: 1;
flex: 1;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
height: 30px;
position: relative;
border: 1px solid #ddd;
text-indent: 5px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.customSelect > ul > li span {
flex: 0.975;
display: block;
line-height: 28px;
color: #222;
font-family: 'Noto Sans';
cursor: pointer;
}
.customSelect > ul > li .selList {
display: none;
position: absolute;
top: 29px;
left: -1px;
width: 100%;
z-index: 200;
border: 1px solid #ddd;
border-top: 0;
border-radius: 0 0 4px 4px;
background-color: #fff;
}
.customSelect > ul > li .selList li:hover {
background-color: #3399ff;
}
.customSelect > ul > li .selList li:hover span {
color: #fff;
}
.customSelect.active ul li .selList {
display: block;
}
.customSelect + .customSelect {
margin-left: 10px;
}
$(function(){
$('.customSelect').on({
"click":function(){
$(this).toggleClass('active').siblings('.customSelect').removeClass('active');
}
});
$(document).on({"click":function(e){
if($('.customSelect').has(e.target).length == 0){
$('.customSelect').removeClass('active');
}
}
});
$('.customSelect > ul > li > .selList > li').on({
"click":function(){
$(this).parents('ul').prev('span').text($(this).text());
}
});
});
기본 셀렉트
커스텀 셀렉트
아래 주소를 복사하여 다른 곳에 붙여넣으세요.