在 Safari 中若是想对 <select> 标签设置高度,最经常使用的方法是设置 -webkit-appearance ,即:web
从表象上看这是 Safari 的一个 BUG,我就是想简简单单的修改 <select> 高度而已,为何要还设置 appearance?WTF......可是,再深刻想想(为这个BUG找个理由🤔),会不会是专门这样设计的呢?控件主要由行为和UI两部分组成。控件的行为主要由 JavaScript 来实现,而UI,也就是外观则是由主题 API 来进行绘制呈现(当前 mac 上的主题是 Aqua)。而在 CSS 中, -webkit-appearance 就是用于控制控件外观的,如今咱们要修改 <select> 的高度,其实就是想修改它的外观,也就意味着咱们不须要 <select> 的默认外观,因此设置 -webkit-appearance:none; 好像也没啥不对诶。app
想要删除 <select> 上的Aqua样式,设置 -webkit-appearance 是其中经常使用的一种方式,同时 Safari 还提供了另外两种删除样式的方法:spa
经过上面任意一种方式去除 <select> 的 Aqua 样式后,咱们就能够经过属性修改:设计
font-family
font-size
height
和line-height
padding
(只有修改-webkit-appearance才能够设置)