选择不在chrome中工作的选项填充

Piy*_*iya 73 html css

选择不在chrome中工作的选项填充

<style>
select option { padding:5px 0px; }
</style>    
<select>
<option>1</option>
<option>2</option>
<option>3</option> 
</select>
Run Code Online (Sandbox Code Playgroud)

rmm*_*oul 115

我刚刚找到了一种方法来将填充应用于chrome中的选择输入

select{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 5px;
}
Run Code Online (Sandbox Code Playgroud)

似乎在当前的chrome 39.0.2171.71(64位)和safari中工作(我只在mac上测试过).

这似乎删除了添加到选择输入的默认样式(它还删除了下拉箭头),但允许您使用自己的样式而不覆盖它.

我在使用此处的代码时偶然发现了这个问题:http://fettblog.eu/style-select-elements/

  • 箭头迷失了这个:( (3认同)
  • @stom这可能适用于左右填充,但我认为它不适用于顶部和底部填充。 (2认同)

小智 32

这个简单的黑客将缩进文本.效果很好.

select {
  text-indent: 5px;
}
Run Code Online (Sandbox Code Playgroud)

  • 这会将填充添加到选择本身,但不会添加到选项.将文本缩进应用于选项在Chrome 64中也不起作用. (8认同)

Pra*_*hal 7

看起来

不幸的是,webkit浏览器还不支持选项标签的样式.

你可能在这里找到类似的问题

  1. 如何设置选择标签的选项元素的样式?
  2. 选择下拉列表中的样式选项值不适用于Chrome和Safari

最广泛使用的跨浏览器解决方案是使用ul li

希望能帮助到你!

  • 谢谢你的回答.令人惊讶的是,自从网站,HTML和CSS出现这么多年以来,我们仍然缺乏像选择填充这样的选项.样式和定位元素可能令人沮丧,但在Android开发中,它更容易.我不明白为什么使用HTML和CSS的Web环境看起来如此"未完成",与桌面和本机移动环境相比,"正在进行中". (5认同)
  • 也许在不久的将来,网络会更漂亮,开发人员将得到帮助影子dom - http://robdodson.me/shadow-dom-styles/ :)希望开发人员能够控制表单元素的内层.虽然RIP IE. (2认同)
  • @Bryan Web是一项古老的技术,因此它有一些尚未改进的旧想法.由于浏览器支持,新功能一直很慢,无法与任何人联系,并且由于缺乏敏感性(现有的工作环境,人们会这样做,最终用户没有注意到这些浏览器缺乏)没有任何变化. (2认同)

lag*_*lex 7

不是填充,但如果您的目标只是使其更大,则可以增加font-size. 并使用它来将font-size-adjust选择时的字体大小减小到正常,而不是选项上的字体大小,因此最终会使字体变option大。

不确定它是否适用于所有浏览器,或者是否会在当前浏览器上继续工作。

在 Chrome 85 和 Firefox 81 上测试。

屏幕截图(在 Firefox 上)

select {
    font-size: 2em;
    font-size-adjust: 0.3;
}
Run Code Online (Sandbox Code Playgroud)
<label>
  Select: <select>
            <option>Option 1</option>
            <option>Option 2</option>
            <option>Option 3</option>
          </select>
</label>
Run Code Online (Sandbox Code Playgroud)


小智 6

我用这个修好了

select {
    max-height: calc(1.2em + 24px);
    height: calc(1.2em + 24px);
}


max-height: calc(your line height + (top + bottom padding));
height: calc(your line height + (top + bottom padding));
Run Code Online (Sandbox Code Playgroud)