<select id="ddlProducts" name="ddProducts">
<option>Product1 : Electronics </option>
<option>Product2 : Sports </option>
</select>
만들고 싶은 제품 이름을 (즉, & # 39, & # 39 Product2& Product1& # 39, # 39;;; 굵은꼴, 등) 및 그 범주 (viz. 전자 · 스포츠 등) 를 사용하여 기울임, CSS 뿐입니다. # 39 에 있는 것이 아니라 내가 찾은 것은 오래된 질문 it& HTML 및 CSS 를 사용하여, 그러나 이제 # 39 의 솔루션을 there& 기대해 본다.
몇 가지 스타일을 적용할 수 있는 속성을 가지뿐입니다 충족되었으며 ',' option> <, 요소.
이 때문에 이 유형의 요소점 예가 element" 재장착하여 ";). 이들은 os 종속 및 속하지 않는 html / 브라우저. Css 를 통해 '스타일' 이 될 수 없습니다.
There are like a ',' 하지만, 그 표정이요 교체품 플러그-인을 / 라이브러리보다는 < select> 구성된 요소가 될 수 있는 HTML '일반' 실제로 항공의 자회사에 해당된다.
아니, it& # 39 의 불가능, 이러한 요소에 대한 user& # 39 의 OS 를 스타일 의해 처리됩니다. [MSDN 는 여기에 대답을] [1]:
>. 배경색 '와' 컬러 '스타일' 을 제외하고, 스타일 설정 옵션을 통해 발려짐 객체에 대한 요소점 무시됨.
[1]: 이아스파스 ://msdn.microsoft.com/en-us/library/ms535877 (v = vs. 85) https://web.archive.org/web/20170528070441/http
내가 발견, 이를 통해 이 옵션을 선택하고 스타일 좋은 예입니다. 이 모두 선택 운영까지도 함께 할 수 있습니다. 다음은 [바이올린] [1]
<select id="selectbox1">
<option value="">Select an option…</option>
<option value="aye">Aye</option>
<option value="eh">Eh</option>
<option value="ooh">Ooh</option>
<option value="whoop">Whoop</option>
</select>
<select id="selectbox2">
<option value="">Month…</option>
<option value="january">January</option>
<option value="february">February</option>
<option value="march">March</option>
<option value="april">April</option>
<option value="may">May</option>
<option value="june">June</option>
<option value="july">July</option>
<option value="august">August</option>
<option value="september">September</option>
<option value="october">October</option>
<option value="november">November</option>
<option value="december">December</option>
</select>
body {
padding:50px;
background-color:white;
}
.s-hidden {
visibility:hidden;
padding-right:10px;
}
.select {
cursor:pointer;
display:inline-block;
position:relative;
font:normal 11px/22px Arial, Sans-Serif;
color:black;
border:1px solid #ccc;
}
.styledSelect {
position:absolute;
top:0;
right:0;
bottom:0;
left:0;
background-color:white;
padding:0 10px;
font-weight:bold;
}
.styledSelect:after {
content:"";
width:0;
height:0;
border:5px solid transparent;
border-color:black transparent transparent transparent;
position:absolute;
top:9px;
right:6px;
}
.styledSelect:active, .styledSelect.active {
background-color:#eee;
}
.options {
display:none;
position:absolute;
top:100%;
right:0;
left:0;
z-index:999;
margin:0 0;
padding:0 0;
list-style:none;
border:1px solid #ccc;
background-color:white;
-webkit-box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);
-moz-box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);
box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);
}
.options li {
padding:0 6px;
margin:0 0;
padding:0 10px;
}
.options li:hover {
background-color:#39f;
color:white;
}
// Iterate over each select element
$('select').each(function () {
// Cache the number of options
var $this = $(this),
numberOfOptions = $(this).children('option').length;
// Hides the select element
$this.addClass('s-hidden');
// Wrap the select element in a div
$this.wrap('<div class="select"></div>');
// Insert a styled div to sit over the top of the hidden select element
$this.after('<div class="styledSelect"></div>');
// Cache the styled div
var $styledSelect = $this.next('div.styledSelect');
// Show the first select option in the styled div
$styledSelect.text($this.children('option').eq(0).text());
// Insert an unordered list after the styled div and also cache the list
var $list = $('<ul />', {
'class': 'options'
}).insertAfter($styledSelect);
// Insert a list item into the unordered list for each select option
for (var i = 0; i < numberOfOptions; i++) {
$('<li />', {
text: $this.children('option').eq(i).text(),
rel: $this.children('option').eq(i).val()
}).appendTo($list);
}
// Cache the list items
var $listItems = $list.children('li');
// Show the unordered list when the styled div is clicked (also hides it if the div is clicked again)
$styledSelect.click(function (e) {
e.stopPropagation();
$('div.styledSelect.active').each(function () {
$(this).removeClass('active').next('ul.options').hide();
});
$(this).toggleClass('active').next('ul.options').toggle();
});
// Hides the unordered list when a list item is clicked and updates the styled div to show the selected list item
// Updates the select element to have the value of the equivalent option
$listItems.click(function (e) {
e.stopPropagation();
$styledSelect.text($(this).text()).removeClass('active');
$this.val($(this).attr('rel'));
$list.hide();
/* alert($this.val()); Uncomment this for demonstration! */
});
// Hides the unordered list when clicking outside of it
$(document).click(function () {
$styledSelect.removeClass('active');
$list.hide();
});
});
그냥 크롬 '선택' 에 대한 CSS 를 설정할 수 있어 직접 같다. CSS 와 HTML 코드를 다음과 같습니다.
<! - begin 스니핏: js 숨기십시오: 거짓값 콘솔: 진정한 바벨. > 거짓값 -;
.boldoption {
font-weight: bold;
}
<select>
<option>Some normal-font option</option>
<option>Another normal-font option</option>
<option class="boldoption">Some bold option</option>
</select>
끝 - < 스니핏 >;! ! [입력하십시오. 이미지 여기에 설명을] [1]
목표를 달성할 수 있습니다. ',' 스타일 < option> 별도로 각 있지만 일부 스타일 ',' 이 아니라, select> < 적용 할 수 있습니다. 제가 제일 좋아하는 는 Select" 부트스트랩에 "; 아래에 언급된 라이브러리란.
참고 할 수 있는지, 또는 '옵션' 전체 '스타일' 을 요소점 요소를 별도로.
종속물과의 : , , , * v1.9.1+ 单捞磐啊 jQuery 의 드로프다운스제스 # 39 의 CSS 및 Bootstrap& 부트스트랩에 부트스트랩에 구성 요소
호환성 *: 부트스트랩에 확실하지 않지만, 모든 주요 브라우저 및 platforms" up1 최신값 안정적인 由대 利덈 " 밝혔습니다.
데모 *: https://developer.snapappointments.com/bootstrap-select/examples/
<! - begin 스니핏: js 숨기십시오: 거짓값 콘솔: 거짓값 바벨. > 거짓값 -;
.special {
font-weight: bold !important;
color: #fff !important;
background: #bc0000 !important;
text-transform: uppercase;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="https://stackpath.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap-select.min.css" rel="stylesheet" />
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap-select.min.js"></script>
<select class="selectpicker">
<option>Mustard</option>
<option class="special">Ketchup</option>
<option style="background: #5cb85c; color: #fff;">Relish</option>
</select>
끝 - < 스니핏 >;!
종속물과의 *: Js + CSS + library 는 HTML 전용 (JQuery 필요 없음).
호환성 *: IE, 크롬, 사파리, 파이어폭스, 오페라 10.6+ 8+ 8+ 10 3
또한 there& # 39 의 부트스트랩에 테마 사용할 수 있습니다.
아니 부트스트랩에 예:
<! - begin 스니핏: js 숨기십시오: 거짓값 콘솔: 거짓값 바벨. > 거짓값 -;
$(function() {
var $select = $('.select2');
$select.select2({
theme: 'paper'
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.7/js/select2.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.7/css/select2.min.css" rel="stylesheet"/>
<select class="select2 form-control" placeholder="Country">
<optgroup label="Alaskan/Hawaiian Time Zone">
<option value="AK">Alaska</option>
<option value="HI">Hawaii</option>
</optgroup>
<optgroup label="Pacific Time Zone">
<option value="CA">California</option>
<option value="NV">Nevada</option>
<option value="OR">Oregon</option>
<option value="WA">Washington</option>
</optgroup>
</select>
끝 - < 스니핏 >;!
부트스트랩에 예:
<! - begin 스니핏: js 숨기십시오: 거짓값 콘솔: 거짓값 바벨. > 거짓값 -;
$(function() {
var $select = $('.select2');
$select.select2({
theme: 'paper'
});
});
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootswatch/3.3.2/paper/bootstrap.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.7/js/select2.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.7/css/select2.min.css" rel="stylesheet"/>
<select class="select2 form-control" placeholder="Country">
<optgroup label="Alaskan/Hawaiian Time Zone">
<option value="AK">Alaska</option>
<option value="HI">Hawaii</option>
</optgroup>
<optgroup label="Pacific Time Zone">
<option value="CA">California</option>
<option value="NV">Nevada</option>
<option value="OR">Oregon</option>
<option value="WA">Washington</option>
</optgroup>
</select>
끝 - < 스니핏 >;!
추가적인 비용을 경우 마드부스스트라프 프리미엄 라이브러리를 사용할 수 있습니다. (이) 는 전체 ᅴ 키트입니다 , # 39 도왔으매 it& s not 표시등으로)
이 옵션을 선택하여 사용할 수 있습니다 너회의 스타일입니까 요소 머티리얼 디자인.
하지만, t # 39 는 무료로 제공되는 아니했다고 won& 사용할 수 있는 예쁜 머티리얼 디자인!
종속물과의 : 부트스트랩에 4*, JQuery,
호환성 *: [" up1 최신값 안정적인 由대 利덈, 모든 주요 브라우저 및 platforms."] [12]
데모 *: https://mdbootstrap.com/docs/jquery/forms/select/ # 색상
여기를 떠나 다른 클래스를 사용하여 테이블을 토글하십시오 빠르게. 하지만 선택할 수 있는 비헤이비어를 비해 매우 비슷한 스타일 전환, 필터 및 색상, 각 하였더뇨 것이다.
<! - begin 스니핏: js 숨기십시오: 거짓값 콘솔: 진정한 바벨. > 거짓값 -;
function toggleSelect(){
if (store.classList[0] === "hidden"){
store.classList = "viewfull"
}
else {
store.classList = "hidden"
}
}
#store {
overflow-y: scroll;
max-height: 110px;
max-width: 50%
}
.hidden {
display: none
}
.viewfull {
display: block
}
#store :nth-child(4) {
background-color: lime;
}
span {font-size:2rem;cursor:pointer}
<span onclick="toggleSelect()">⮋</span>
<div id="store" class="hidden">
<ul><li><a href="#keylogger">keylogger</a></li><li><a href="#1526269343113">1526269343113</a></li><li><a href="#slow">slow</a></li><li><a href="#slow2">slow2</a></li><li><a href="#Benchmark">Benchmark</a></li><li><a href="#modal">modal</a></li><li><a href="#buma">buma</a></li><li><a href="#1526099371108">1526099371108</a></li><a href="#1526099371108o">1526099371108o</a></li><li><a href="#pwnClrB">pwnClrB</a></li><li><a href="#stars%20u">stars%20u</a></li><li><a href="#pwnClrC">pwnClrC</a></li><li><a href="#stars ">stars </a></li><li><a href="#wello">wello</a></li><li><a href="#equalizer">equalizer</a></li><li><a href="#pwnClrA">pwnClrA</a></li></ul>
</div>
끝 - < 스니핏 >;!
'스타일' 의 일부 등록, 태그, option> < 수 있습니다.
font-family '-'
또한, 예를 들어, '태그' 맞춤형 개별 < option> 글꼴을 사용할 수 있는 모든 [구글 글꼴색] (https://fonts.google.com/), [재료 꾩씠肄] (https://design.google.com/icons/) 또는 다른 아이콘 글꼴에서처럼 에서 [이코문] (https://icomoon.io/) 또는 모두 수용할 수 있습니다. (따라오렴 참조할 수 있는 글꼴 선택기를 etc.)
감안하면 아이콘 ',' option> < 스태킹하고 삽입하십시오 font-family 만들 수 있습니다, 태그, eg.
<select>
<option style="font-family: 'Icons', 'Roboto', sans-serif;">a ★★★</option>
<option style="font-family: 'Icons', 'Roboto', sans-serif;">b ★★★★</option>
</select>
여기서 '' 는 '아이콘' 과 '' 로보토 미삭 하나님으 로부터 가져온 것입니다.
참고 이를 선택할 수 있도록 모바일 사용자 정의 글꼴에서처럼 작동하지 않습니다.
또한, , 옵션 = " attached" 클래스용 옵션을 요소 중 다른 클래스 태그용). 사용자가 볼 수 있는 고객, 그들은 모든 색상 옵션 기록되는지 이어질 수 있다. 그러나 소매 고객들이 구입할 수 있어 2 컬러 (옵션), ve 비활성화하지 i& 미허용 # 39.
<option class="attached" disabled>color 1</option>
<option class="attached" disabled>color 2</option>
하지만 내가 어떻게 이 논리를 조금 걸렸다 슬라이드에서는 목표화된 비활성화됨 옵션을 선택합니다.
table.variations td.value select#pa_color option.attached:disabled {
display: none !important;
}
단지 내 볼 수 있는 색상, 옵션 이어질 수 있습니다.
실제로 그 스타일을 전에 이후 등을 추가할 수 있습니다. # 39 의 적어도 it& 뭔가
<! - begin 스니핏: js 숨기십시오: 거짓값 콘솔: 진정한 바벨. > 거짓값 -;
option{
font-size:18px;
background-color:#ffffff;
}
option:before{
content: ">";
font-size:20px;
display:none;
padding-right:10px;
padding-left:5px;
color:#fff;
}
option:hover:before{
display:inline;
}
끝 - < 스니핏 >;!
이 요소는 OS 에서 렌더링됩니다 아니라 HTML. Css 를 통해 스타일을 지정할 수 없습니다.
<! - begin 스니핏: js 숨기십시오: 거짓값 콘솔: 진정한 바벨. > 거짓값 -;
$(function() {
var clicky;
var t=0;
$(document).mousedown(function(e) {
clicky = $(e.target);
});
$(document).mouseup(function(e) {
clicky = null;
});
$("select").focusout(function(e) {
if (typeof clicky.attr('id') !== typeof undefined && clicky.attr('id') !== false) {
$(this).parents().children("span.selected").html(clicky.html());
$(this).children('option[value="'+clicky.attr('id')+'"]').prop('selected', true);
}
$(this).parents().children("span.lists").html('');
});
$('select > option').text(function(i, text) {
var attr = $(this).attr('selected');
if (typeof attr !== typeof undefined && attr !== false) {
$(this).parents().parents().children("span.selected").html(text);
}
});
$("select").focusin(function(){
$(this).children('option').text(function(i, text) {
$(this).parents().children("span.lists").append("<span class='item' id='"+$(this).attr('value')+"'>"+text+"</span>");
});
});
});
select {
width: 0px;
height: 0px;
overflow:hidden;
outline: none;
border: none;
appearance:none;
-moz-appearance: none;
}
label{
display: inline-block;
padding: 5px 10px;
position: relative;
width: 100px;
height: 20px;
background-color:#ccc;
}
label .selected{
display: inline-block;
overflow: hidden;
width: 100%;
height: 100%;
}
label span.lists{
width: 100%;
display: inline-block;
position: absolute;
top: 100%;
left: 0px;
box-shadow: 0px 0px 2px 0px #ccc;
background-color:#fff;
z-index: 9;
}
label span.item{
display: inline-block;
width: 100%;
border-bottom: 1px solid #ccc;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
<form action="?" method="GET">
<label><span class="selected">select..</span> <span class="lists"></span>
<select name="test">
<option value="1">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</option>
<option value="2" selected>item 2</option>
<option value="3">item 3</option>
<option value="4">item 4</option>
</select>
</label><br>
<label><span class="selected">select..</span> <span class="lists"></span>
<select name="test2">
<option value="1">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</option>
<option value="2">item 2</option>
<option value="3" selected>item 3</option>
<option value="4">item 4</option>
</select>
</label><br>
<button>Submit</button>
</form>
</body>
</html>
끝 - < 스니핏 >;!
이 같은 it 시도하시겠습니까 도움이 될 수 있습니다
[ https://codepen.io/venu9l/pen/jeNXzY][1]
아래 코드를 사용자정의하려면 작동합니까 태그 빼앗아 100% 를 이 예
<! - begin 스니핏: js 숨기십시오: 거짓값 콘솔: 진정한 바벨. > 거짓값 -;
var x, i, j, selElmnt, a, b, c;
/*look for any elements with the class "custom-select":*/
x = document.getElementsByClassName("custom-select");
for (i = 0; i < x.length; i++) {
selElmnt = x[i].getElementsByTagName("select")[0];
/*for each element, create a new DIV that will act as the selected item:*/
a = document.createElement("DIV");
a.setAttribute("class", "select-selected");
a.innerHTML = selElmnt.options[selElmnt.selectedIndex].innerHTML;
x[i].appendChild(a);
/*for each element, create a new DIV that will contain the option list:*/
b = document.createElement("DIV");
b.setAttribute("class", "select-items select-hide");
for (j = 1; j < selElmnt.length; j++) {
/*for each option in the original select element,
create a new DIV that will act as an option item:*/
c = document.createElement("DIV");
c.innerHTML = selElmnt.options[j].innerHTML;
c.addEventListener("click", function(e) {
/*when an item is clicked, update the original select box,
and the selected item:*/
var y, i, k, s, h;
s = this.parentNode.parentNode.getElementsByTagName("select")[0];
h = this.parentNode.previousSibling;
for (i = 0; i < s.length; i++) {
if (s.options[i].innerHTML == this.innerHTML) {
s.selectedIndex = i;
h.innerHTML = this.innerHTML;
y = this.parentNode.getElementsByClassName("same-as-selected");
for (k = 0; k < y.length; k++) {
y[k].removeAttribute("class");
}
this.setAttribute("class", "same-as-selected");
break;
}
}
h.click();
});
b.appendChild(c);
}
x[i].appendChild(b);
a.addEventListener("click", function(e) {
/*when the select box is clicked, close any other select boxes,
and open/close the current select box:*/
e.stopPropagation();
closeAllSelect(this);
this.nextSibling.classList.toggle("select-hide");
this.classList.toggle("select-arrow-active");
});
}
function closeAllSelect(elmnt) {
/*a function that will close all select boxes in the document,
except the current select box:*/
var x, y, i, arrNo = [];
x = document.getElementsByClassName("select-items");
y = document.getElementsByClassName("select-selected");
for (i = 0; i < y.length; i++) {
if (elmnt == y[i]) {
arrNo.push(i)
} else {
y[i].classList.remove("select-arrow-active");
}
}
for (i = 0; i < x.length; i++) {
if (arrNo.indexOf(i)) {
x[i].classList.add("select-hide");
}
}
}
/*if the user clicks anywhere outside the select box,
then close all select boxes:*/
document.addEventListener("click", closeAllSelect);
/*the container must be positioned relative:*/
.custom-select {
position: relative;
font-family: Arial;
}
.custom-select select {
display: none; /*hide original SELECT element:*/
}
.select-selected {
background-color: DodgerBlue;
}
/*style the arrow inside the select element:*/
.select-selected:after {
position: absolute;
content: "";
top: 14px;
right: 10px;
width: 0;
height: 0;
border: 6px solid transparent;
border-color: #fff transparent transparent transparent;
}
/*point the arrow upwards when the select box is open (active):*/
.select-selected.select-arrow-active:after {
border-color: transparent transparent #fff transparent;
top: 7px;
}
/*style the items (options), including the selected item:*/
.select-items div,.select-selected {
color: #ffffff;
padding: 8px 16px;
border: 1px solid transparent;
border-color: transparent transparent rgba(0, 0, 0, 0.1) transparent;
cursor: pointer;
}
/*style items (options):*/
.select-items {
position: absolute;
background-color: DodgerBlue;
top: 100%;
left: 0;
right: 0;
z-index: 99;
}
/*hide the items when the select box is closed:*/
.select-hide {
display: none;
}
.select-items div:hover, .same-as-selected {
background-color: rgba(0, 0, 0, 0.1);
}
<div class="custom-select" style="width:200px;">
<select>
<option value="0">Select car:</option>
<option value="1">Audi</option>
<option value="2">BMW</option>
<option value="3">Citroen</option>
<option value="4">Ford</option>
<option value="5">Honda</option>
<option value="6">Jaguar</option>
<option value="7">Land Rover</option>
<option value="8">Mercedes</option>
<option value="9">Mini</option>
<option value="10">Nissan</option>
<option value="11">Toyota</option>
<option value="12">Volvo</option>
</select>
</div>
끝 - < 스니핏 >;!
스타일 ',' 를 추가, 인라인 스타일을 사용할 수 있는 맞춤형 < option> 것이다.
대한 예: style = "# 색상, 옵션, 글꼴색 무게:3.67kg 굵은체의 09c " " <;;;;; '옵션을 /option> 1< >. 이렇게 하면, ',' 이 특정 스타일을 적용하십시오 < option> 요소만.
그럼 조금 javascript 를 사용할 수 있는 모든 ',' 매직 인라인 스타일을 적용하십시오 < option> ',' 같은, 태그, 내 요소의 < select> 있습니다.
'var 선택 = $ (document)' 오게테레멘트베이드 (& # 39, # select-element-id& # 39;)
var 옵션에만 셀레스트롬차일드렌 (& # 39, # option-element-id& # 39;) = ' '
'루티언스크스 (& # 39, & # 39, # 39 bold& font-weight& # 39;;;)'
'루티언스크스 (& # 39, & # 39, # 39 24px& font-size& # 39;;;)'
'옵션을 사용할 수도 있습니다, 값 = " < "; disabled>. < br>; 라인 브레이크 '를 옵션 추가, 간, /option> <.
앞서 설명한 것처럼 아닌 정말 가능한가. 그러나 초기 상태 (like a & # 39, 뭔가 싶은 스타일을 # 39 product.& 선택합니다. 전에 옵션을 사용자 상호 작용 할 수 있는 현장, 아래와 같은 일이 -
아래의 예는 스타일 (기술적으로 모두) 는 레드, 첫 번째 옵션은 일단 사용자가 해당 옵션을 제거하시겠습니까 상호 작용 (가치 = " 디스크입니다. diskid defaultValue"; set) 과 클래스용 분리하십시오 적용된 선택합니다. 뿐만 아니라 다른 옵션을 적용할 수 있는 것 외에 영향을 주지 않는 한 번 만 색상 변경, 필드 목록 보기.
.default-value{
color: red;
}
$("select").addClass('default-value');
$("select").bind("focus", function () {
$(this).children('option[value="defaultValue"]').remove();
$(this).removeClass('default-value');
});