如何在select标签中创建分隔符?
New Window
New Tab
-----------
Save Page
------------
Exit
答案 0 :(得分:277)
禁用选项方法似乎看起来最好并且是最好的支持。我还提供了使用optgroup的示例。
optgroup(这种方式很糟糕):
<select>
<optgroup>
<option>First</option>
</optgroup>
<optgroup label="_________">
<option>Second</option>
<option>Third</option>
</optgroup>
</select>
&#13;
禁用选项(好一点):
<select>
<option>First</option>
<option disabled>_________</option>
<option>Second</option>
<option>Third</option>
</select>
&#13;
如果您想要真正喜欢,请使用水平unicode框绘图字符。它很性感!
(最佳选择!)
<select>
<option>First</option>
<option disabled>──────────</option>
<option>Second</option>
<option>Third</option>
</select>
&#13;
答案 1 :(得分:74)
尝试:
<optgroup label="----------"></optgroup>
答案 2 :(得分:20)
这是一个老线程,但由于没有人发布类似的回复,我会添加它,因为这是我喜欢的分离方式。
我发现使用破折号这样有点像眼睛因为它可能达不到选择框的宽度。所以,我更喜欢用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>
答案 3 :(得分:14)
如果您不想使用optgroup元素,请将破折号放在选项元素中,并为其指定disabled属性。它会是可见的,但是会变灰。
<option disabled>----------</option>
答案 4 :(得分:8)
我使用扩展字符集中的水平条符号代替常规的hyphon,如果用户在另一个国家替换该字符但对我来说工作正常,那么它看起来不会很好。有一系列不同的字符可以用于一些很好的效果,并且没有涉及到CSS。
<option value='-' disabled>――――</option>
答案 5 :(得分:8)
在CSS中定义一个类:
option.separator {
margin-top:8px;
border-top:1px solid #666;
padding:0;
}
用HTML写:
<select ...>
<option disabled class="separator"></option>
</select>
答案 6 :(得分:4)
我正在将@Laurence Gonsalves的评论写成答案,因为它是唯一一个在语义上有效并且看起来不像黑客的人。
尝试将其添加到样式表中:
optgroup + optgroup { border-top: 1px solid black }
看起来比一堆破折号低得多。
答案 7 :(得分:3)
另一种方法是使用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;
}
或使用javascript(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/
答案 8 :(得分:2)
如果它只是WebKit,您可以使用<hr>
创建一个真正的分隔符。
答案 9 :(得分:1)
您可以使用em破折号“ - ”。每个字符之间没有可见的空格。
(在一些字体!)中
在HTML中:
<option value="—————————————" disabled>—————————————</option>
或者在XHTML中:
<option value="—————————————" disabled="disabled">—————————————</option>
答案 10 :(得分:1)
这是最好的。
<option>First</option>
<option disabled>_________</option>
<option>Second</option>
<option>Third</option>
答案 11 :(得分:1)
<option data-divider="true" disabled>______________</option>
你也可以这样做。它很容易,并使分隔符选择下拉列表。
答案 12 :(得分:0)
我选择有条件地交替颜色和背景。设置排序顺序并使用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
答案 13 :(得分:0)
我们可以使用不带选项的optgroup标记
.divider {
font-size: 1px;
background: rgba(0, 0, 0, 0.5);
}
.divider--danger {
background: red;
}
<select>
<option value="option1">option 1 key data</option>
<option value="option2">option 2 key data</option>
<optgroup class="divider"></optgroup>
<option value="option3">option 3 key data</option>
<option value="option4">option 4 key data</option>
</select>
<select>
<option value="option1">option 1 key data</option>
<option value="option2">option 2 key data</option>
<optgroup class="divider divider--danger"></optgroup>
<option value="option3">option 3 key data</option>
<option value="option4">option 4 key data</option>
</select>
Codepen.io:https://codepen.io/JasneetDua/pen/yLOYwaV?editors=1100