有没有办法通过CSS给选项添加填充?

eqoofvh9  于 2023-01-10  发布在  其他
关注(0)|答案(4)|浏览(125)

我想用CSS在HTML中的选择选项之间添加一些空格(填充,边距或其他)。我目前正在使用Chrome,我已经尝试过这样的操作:

select option {
     padding: 10px
 }

然而它没有工作。我已经读到这是可能的,但它不工作在IE。
无论如何,我想有这个工作在其他浏览器,即使它不工作在IE浏览器。
JSFiddle example

von4xj4u

von4xj4u1#

样式选择选项是非常有限的,以保持操作系统中所有应用程序之间的连贯性和一致性,因此浏览器应该限制一些基本元素的样式,如在您的情况下选项标签。
这种限制取决于浏览器之间的不同,比如选项标签的填充甚至边距在Mozilla Firefox中有效,而在Chrome中无效。
如果您的网站非常需要对选项标签进行样式化,那么我建议您使用一些jQuery插件(您也可以制作自己的下拉列表,这很简单)。

vlf7wbxs

vlf7wbxs2#

选项标签的外观在我的经验中是由浏览器决定的,而且往往有很好的理由--想想iOS v chrome上的外观有多不同,以及这样做的好处。
但是,您可以通过使用browser前缀appearance属性对select元素进行一些控制。
例如:

select {
    padding: 2px 10px;
    border: 1px solid #979997;

    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    -o-appearance: none;
    appearance: none;

    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    -o-border-radius: 4px;
    border-radius: 4px;
}

然而,当点击时,它们会像通常一样显示在您使用的任何浏览器中。
如果你想要更好的控制,我认为你最好的选择是@sumitb.mdi建议的jquery plugin,或者你自己从头开始构建类似的东西。

2ledvvac

2ledvvac3#

<select></select>标签:-更改了haveselectcss属性,但未更改其选项值属性,如果您想更改其选项属性,请添加jQuery插件,否则请创建自己的下拉列表(自定义下拉列表)。

sshcrbum

sshcrbum4#

我尝试了所有的解决方案,但没有工作
我做了这个把戏,它起作用了:)

<select>
<option value="1">Item 1 one</option>
<option value="" style="font-size:5pt;" disabled>&nbsp;</option>

<option value="2">Item 2 tow</option>
<option value="" style="font-size:5pt;" disabled>&nbsp;</option>

<option value="3">Item 3 three</option>
<option value="" style="font-size:5pt;" disabled>&nbsp;</option>

<option value="4">Item 4 four</option>
<option value="" style="font-size:5pt;" disabled>&nbsp;</option>

<option value="5">Item 5 five</option>
<option value="" style="font-size:5pt;" disabled>&nbsp;</option>

</select>

相关问题