这是我的HTML:

<select id="ddlProducts" name="ddProducts"> 
    <option>Product1 : Electronics </option>
    <option>Product2 : Sports </option>
</select>

我想让产品的名称(即。'Product1', 'Product2',等等),以及它的类别(即。电子,体育等)斜体,只使用CSS。我发现了一个老问题,提到这是不可能使用HTML和CSS,但希望,现在有一个解决方案。


当前回答

不,这是不可能的,因为这些元素的样式是由用户的操作系统处理的。MSDN将在这里回答你的问题:

除了background-color和color,通过style对象应用于option元素的样式设置将被忽略。

其他回答

一些属性可以为<option>标签设置样式:

字体类型 颜色 字体- * 背景颜色

此外,您可以使用自定义字体的个人<选项>标签,例如任何谷歌字体,材质图标或其他图标字体从icomoon或类似。(这可能会方便字体选择器等)

考虑到这一点,您可以创建字体家族堆栈,并在<option>标记中插入图标,例如。

    <select>
        <option style="font-family: 'Icons', 'Roboto', sans-serif;">a    ★★★</option>
        <option style="font-family: 'Icons', 'Roboto', sans-serif;">b    ★★★★</option>
    </select>

★取自Icons,其余取自Roboto。

注意,自定义字体并不适用于移动选择。

可以应用于<option>元素的样式属性很少。

这是因为这种类型的元素是一个“替换元素”的例子。它们依赖于操作系统,不是HTML/浏览器的一部分。它不能通过CSS样式。

有一些替换的插件/库看起来像<select>,但实际上是由常规的HTML元素组成的,可以设置样式。

这是一个html css代码,用于样式选项和选择标签。 选择的选项:背景和粗体 关闭后,它看起来是斜体。

    <style>
        .mydropdown{
         border:none;
         border-bottom:2px dotted black;
         display:inline;max-width:20%;
         font-style: italic;
         font-weight: 600;
         cursor: pointer;  
    }
    .mydropdown:hover , .myoption:active , .myoption:checked{
         border:2px dotted green;
    }
    .myoption{
         font-style: normal;
    }
    .mydropdown .myoption:checked,
    .mydropdown .myoption:hover ,
    .mydropdown .myoption:active {
        font-style: italic;
        font-weight: 600;
     }
    </style>

即使没有太多的属性要改变,但你可以实现以下样式只有css:

.options { 边框:1px solid #e5e5e5; 填充:10 px; } 选择{ 字体大小:14 px; 边界:没有; 宽度:100%; 背景:白色; } < div class = "选项”> <选择> 苹果<选项值= " " > < /选项> 香蕉<选项值= " " > < /选项> 橙色<选项值= " " > < /选项> 芒果<选项值= " " > < /选项> < /选择> < / div >

Bootstrap允许你通过data-content使用样式:

<select class="selectpicker">
  <option data-content="<span class='label label-success'>Relish</span>">Relish</option>
</select>

例子: https://silviomoreto.github.io/bootstrap-select/examples/