为 <select> 的第一个选项设置样式iOS输入法 [英] Styling the first option of a <select> input on iOS
问题描述
我正在尝试在 iOS 上设置 select
输入的样式.第一个选项或初始状态应该具有较小的字体大小,但其余选项不应该.
I'm trying to style a select
input on iOS. The first option or initial state should have smaller font-size but not the rest of the options.
我有以下 html 结构:
I have the following html structure:
<select class="dropdown">
<option selected="" value="Navigation">Navigation</option>
<option value="some-link">Whatever</option>
<option value="some-link">Another option</option>
<option value="some-link">Why</option>
<option value="some-link">What</option>
</select>
我的 CSS 如下所示:
My CSS for it looks like this:
select {
-webkit-appearance: none;
font-family: 'Custom-Font', sans-serif;
font-size:.5em
line-height:1.8em; // optical center
background-color: #ccc;
color: #333;
border: none;
padding: 6px 10px 4px 10px;
}
.dropdown {
background-image: url(img/assets.svg);
background-position: right 2px;
background-repeat: no-repeat;
width: 100%;
display:block;
margin-bottom:-1.5em;
option:not(:first-of-type) {
font-size:1.5em;
}
}
菜单看起来和我想要的完全一样.它在一个带有相当小的字体大小的浅灰色框中显示导航".
The <select>
menu looks exactly like I want it to look. It says "Navigation" inside a light-gray box with a rather small font-size.
但是,在我的 iphone 上单击/点击 select
时,iOS 的本机 UI 视图也会以非常小的字体大小显示所有选项.
However when clicking/tapping the select
on my iphone the native UI view of iOS shows all options also in a very small font-size.
我怎样才能让 selected
选项(或框本身)使用自定义格式而不是选项.我希望我的选项具有正常"可读的字体大小.
How can I just make the selected
option (or the box itself) use the custom formatting but not the options. I want my options to have a "normal" readable font-size.
对此有什么想法吗?我尝试使用 option:not(:first-of-type)
并增加字体大小但没有效果!
Any ideas on that? I tried with option:not(:first-of-type)
and increase the font-size but no effect!
推荐答案
不幸的是,没有办法做到这一点.iOS Safari 完全控制样式 select
列表的内部内容.这是验证的参考:小链接.
Unfortunately, there isn't a way to do it. iOS Safari takes full control of styling select
lists' internal contents. Here's a reference for verification: little link.
实现此目的的一种方法是使用 JavaScript 模拟下拉菜单/选择菜单.
One way to achieve this this would be to simulate the dropdown/select menu using JavaScript.
这不是很可取,但是如果您绝对需要更改默认样式,那么恐怕这是唯一的方法;这是一个演示,应该可以让您了解如何进行模拟:另一个小链接.
It's not very preferable, but if you absolutely require to change the default styling, then I'm afraid it's the only way to go; here's a demo that should give you an idea on how to do the simulation: another little link.
这篇关于为 <select> 的第一个选项设置样式iOS输入法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!