You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iPhone端Safari中input、select元素color属性设置不生效问题求解

问题排查与解决方案

核心原因梳理

  • 重复属性覆盖:你提供的CSS代码中连续声明了3次-webkit-text-fill-color,按照CSS层叠规则,仅最后一条-webkit-text-fill-color: rgb(100, 200, 0);会生效,前两条声明直接被忽略,导致你预期的文本颜色没有被正常应用。
  • Safari自动填充样式劫持:iPhone Safari对触发过自动填充的表单元素,会强制套用内置的:-webkit-autofill、.internal-autofill-selected伪类/类样式,该内置样式优先级极高,普通自定义样式哪怕添加了!important也可能被覆盖。
  • 选择器优先级不足:WPForms插件自带的表单默认样式权重可能高于你编写的自定义样式,也可能存在页面其他全局input样式覆盖了你的规则。

可行修复方案

将你现有的CSS替换为如下版本即可:

/* 新增body前缀提高选择器优先级,同时覆盖普通状态和自动填充状态 */
body form#wpforms-form-2408 input,
body form#wpforms-form-2408 select,
body form#wpforms-form-2408 input:-webkit-autofill,
body form#wpforms-form-2408 input:-webkit-autofill:hover, 
body form#wpforms-form-2408 input:-webkit-autofill:focus,
body form#wpforms-form-2408 select:-webkit-autofill,
body form#wpforms-form-2408 select:-webkit-autofill:hover,
body form#wpforms-form-2408 select:-webkit-autofill:focus {
    color: pink !important;
    -webkit-text-fill-color: pink !important;
    /* 不需要Safari自动填充默认淡黄色背景可以保留下面这行,不需要可删除 */
    -webkit-box-shadow: 0 0 0 1000px #ffffff inset !important;
    height: auto;
    min-height: 78px;
    box-sizing: border-box;
    background: red;
    line-height: unset !important;
    position: relative !important;
    padding-top: 0;
    padding-bottom: 0;
}

核心修改点说明

  1. 新增body前缀提高选择器优先级,避免被WPForms自带的表单样式覆盖
  2. 补充了Safari自动填充伪类的匹配规则,覆盖系统默认的自动填充样式
  3. 删除了重复的-webkit-text-fill-color声明,仅保留需要的颜色值,且添加!important提高优先级
  4. 可选添加-webkit-box-shadow属性,用内阴影覆盖Safari自动填充时默认的淡黄色背景

如果修改后仍未生效,可以使用Safari开发者工具的移动端调试模式,选中对应input元素查看已应用的样式列表,确认是否存在其他更高优先级的样式覆盖了自定义规则。

内容的提问来源于stack exchange,提问作者Chandan Sayed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 11:24:08