답변:
비활성화 된 옵션 접근법이 가장 잘 보이고 가장 잘 지원되는 것으로 보입니다. 또한 optgroup을 사용하는 예를 포함 시켰습니다.
optgroup (이 방법은 다소 짜증납니다) :
<select>
<optgroup>
<option>First</option>
</optgroup>
<optgroup label="_________">
<option>Second</option>
<option>Third</option>
</optgroup>
</select>
비활성화 된 옵션 (약간 낫습니다) :
<select>
<option>First</option>
<option disabled>_________</option>
<option>Second</option>
<option>Third</option>
</select>
정말 화려하고 싶다면 가로 유니 코드 상자 그리기 문자를 사용하십시오.
(최고의 옵션!)
<select>
<option>First</option>
<option disabled>──────────</option>
<option>Second</option>
<option>Third</option>
</select>
disabled
옵션은 오른쪽에 비활성화 된 라디오 버튼과 함께 표시됩니다.
시험:
<optgroup label="----------"></optgroup>
이것은 오래된 스레드이지만 아무도 비슷한 응답을 게시하지 않았으므로 선호하는 분리 방법이므로 추가하겠습니다.
대시를 사용하면 선택 상자의 너비에 미치지 못할 수 있기 때문에 다소 눈에 띄지 않습니다. 따라서 CSS를 사용하여 구분 기호를 만드는 것을 선호합니다. 간단한 배경색입니다.
<select>
<option style="background-color: #cccccc;" disabled selected>Select An Option</option>
<option>First Option</option>
<option>Second</option>
<option style="font-size: 1pt; background-color: #000000;" disabled> </option>
<option>Third</option>
<option>Fourth</option>
<option style="font-size: 1pt; background-color: #000000;" disabled> </option>
<option>Fifth</option>
<option>Sixth</option>
</select>
optgroup 요소를 사용하지 않으려면 대신 대시를 옵션 요소에 넣고 disabled 속성을 지정하십시오. 표시되지만 회색으로 표시됩니다.
<option disabled>----------</option>
CSS에서 클래스를 정의하십시오.
option.separator {
margin-top:8px;
border-top:1px solid #666;
padding:0;
}
HTML로 작성 :
<select ...>
<option disabled class="separator"></option>
</select>
@Laurence Gonsalves의 의견은 의미 적으로 작동하며 해킹처럼 보이지 않는 유일한 답변이기 때문에 답변으로 만들고 있습니다.
이것을 스타일 시트에 추가하십시오 :
optgroup + optgroup { border-top: 1px solid black }
대시 대쉬보다 치즈 맛이 훨씬 적습니다.
optgroup { padding-bottom: 8px; } optgroup:not(:first-child) { padding-top: 8px; border-top: solid 1px #666; }
다른 방법은 옵션으로 CSS 1x1 배경 이미지를 사용하는 것입니다. Firefox에서만 작동하고 "----"폴 백이있는 것 같습니다.
<option value="" disabled="disabled" class="SelectSeparator">----</option>
.SelectSeparator
{
background-image: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAAAAACH5BAAAAAAALAAAAAABAAEAAAICTAEAOw==);
color:black;
background-repeat:repeat-x;
background-position:50% 50%;
background-attachment:scroll;
}
또는 자바 스크립트 (jquery)를 사용하여 다음을 수행하십시오.
-hide the select element and
-show a div which can be completely styled and
-reflect the div state onto the select for the form submit
http://tutorialzine.com/2010/11/better-select-jquery-css3/
WebKit 전용 인 <hr>
경우 실제 구분 기호를 만드는 데 사용할 수 있습니다 .
em 대시 "—"를 사용할 수 있습니다. 각 문자 사이에 공백이 없습니다.
( 일부 글꼴에서!)
HTML에서 :
<option value = "—————————————"비활성화 됨> ——————————— </ option>
또는 XHTML에서 :
<option value = "—————————————"disabled = "disabled"> ——————————— </ option>
조건부로 색상과 배경을 교대로 선택했습니다. 정렬 순서를 설정하고 vue.js를 사용하여 다음과 같이했습니다.
<style>
.altgroup_1 {background:gray; color:white;}
.altgroup_2{background:white; color:black;}
</style>
<option :class = {
'altgroup_1': (country.sort_order > 25),
'altgroup_2': (country.sort_order > 50 }"
value="{{ country.iso_short }}">
{{ country.short_name }}
</option