그것은 여기 조금 복잡하지만 것은이 codepen 일하고 : http://codepen.io/krabbypattified/pen/pEBAgP
는 그것은을 사용 맞춤 드롭 다운을하고 HTML5 드롭 다운에 값을 전달합니다 (wh ich 당신은 숨길 수 있습니다)
만약 당신이 질문이 있으면 내가 그에 따라 내 대답을 수정하겠습니다.
HTML
<div class="dropdown">
<button onclick="showHide()" class="dropbtn">Dropdown</button>
<div id="borderList">
<!-- See CSS -->
<p><span></span></p>
<p><span></span></p>
<p><span></span></p>
<p><span></span></p>
</div>
</div>
<form>
<select id="selector">
<option value="solid">This form will be hidden.</option>
<option value="dashed">Dashed (words not required here, just values)</option>
<option value="dotted" />
<option value="double" />
<option value="groove" />
</select>
</form>
SCSS
/* Border styles */
$borders: solid, dashed, dotted, double, groove;
#borderList p span {
border-top: 5px solid black;
display: block;
}
@for $i from 1 through length($borders) {
#borderList p:nth-child(#{$i}) span {
border-top-style: nth($borders, $i);
}
}
/* Dropdown styles */
.hide { display: none !important }
.show { display: block !important }
.dropdown {
position: relative;
display: inline-block;
}
.dropbtn {
background-color: #4CAF50;
color: white;
padding: 16px;
font-size: 16px;
border: none;
cursor: pointer;
&:hover, &:focus { background-color: #3e8e41 }
}
#borderList {
display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 110px;
box-shadow: 0px 8px 5px 0px rgba(0, 0, 0, 0.2);
p {
cursor: pointer;
margin: 0;
height: 0;
padding: 18px 0 24px 0;
&:hover { background-color: #ddd }
}
}
JS
// Added jQuery
// Pass the selected option to a hidden form
$('#borderList').children().each(function(index) {
this.addEventListener('click', function(){syncToForm(index)});
});
function syncToForm(index) {
var selector = document.getElementById("selector");
selector.options.selectedIndex = index;
}
// Toggle show/hide dropdown
function showHide() {
$('#borderList').toggleClass('show');
}
// Close the dropdown if clicked elsewhere on page
window.onclick = function(e) {
if (!e.target.matches('.dropbtn') && $('#borderList').hasClass('show')) {
$('#borderList').removeClass('show');
}
}
U를 실제 스타일을 가진 요소 목록. –
이 질문은 의견이 너무 광범위하거나 의견을 기반으로하거나 토론이 필요하므로 주제를 벗어난 스택 오버플로입니다. 구체적이고 신뢰할 수있는 프로그래밍 문제가있는 경우 자세한 정보를 제공해주십시오. –