如何在选择标签中创建分隔符?

New Window
New Tab
-----------
Save Page
------------
Exit

当前回答

这个总是最好的。

<option>First</option>
<option disabled>_________</option>
<option>Second</option>
<option>Third</option>

其他回答

我把@Laurence Gonsalves的评论变成了一个答案,因为它是唯一一个在语义上起作用的,看起来不像一个黑客。

试着把这个添加到你的样式表中:

optgroup + optgroup { border-top: 1px solid black } 

比一堆破折号好看多了。

定义一个CSS类:

option.separator {
    margin-top:8px;
    border-top:1px solid #666;
    padding:0;
}

用HTML编写:

<select ...>
    <option disabled class="separator"></option>
</select>

另一种方法是在选项上使用css1x1背景图像,这似乎只适用于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;
}

http://jsfiddle.net/yNecQ/6/

或者使用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/


另请参阅 如何在html选择控件中添加水平线?

以Jasneet的回答为基础

将禁用选项的背景设置为灰色(Jasneet) 在上面和下面添加禁用选项以填充分隔符

基本上,使用三个禁用选项来创建一个自然样式的分隔符。我选择了一条非常细的灰色线0.1px,垫高0.25em,因为我认为这样的组合看起来最自然:

<select>
  <option :value="item1">Item 1</option>
  <option disabled style="font-size: 0.25em;"></option>
  <option disabled style="background: #c9c9c9; font-size: 0.1px;"></option>
  <option disabled style="font-size: 0.25em;"></option>
  <option :value="item2">Item 2</option>
</select>

Try:

<optgroup label="----------"></optgroup>