如何通过CSS修改iOS Safari下拉框的箭头和Done文字颜色
问题解答
iOS Safari 触发下拉框时弹出的选择控件(包含顶部的箭头、Done按钮)属于系统原生UI组件,不在网页DOM结构范围内,没有可直接匹配的CSS选择器,因此无法通过纯CSS单独修改Done按钮的文字颜色。
你可以参考以下可行方案实现需求:
- 方案一:完全自定义下拉选择组件
用HTML、CSS、JS自主实现下拉交互逻辑,所有UI元素都由网页侧控制,可以直接将确认按钮的样式设置为红色,适配到位的情况下可以做到和原生交互体验接近。 - 方案二:修改全局原生控件强调色(iOS 15+ 支持)
在页面head中添加以下meta标签,修改Safari原生控件的全局tint色,会同步生效到Done按钮的文字颜色:
注意该方案会同时影响页面内所有原生控件的强调色,比如输入框光标、选项高亮色等。如果只需要下拉选择器弹出时生效,可以通过JS在选择器聚焦时动态修改该meta标签的content值,失焦后再改回原有值即可。<meta name="theme-color" content="#ff0000">

内容的提问来源于stack exchange,提问作者DeDevelopers
相关产品推荐
相关产品推荐

