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

Stripe 类选择器的Rules对象不生效?该如何修复?

解决Stripe auBankAccount组件style.rules中.Input样式不生效的问题

问题原因

Stripe Elements的auBankAccount组件内部DOM结构里,输入框元素的类名并非.Input,你配置的选择器无法匹配到目标元素,导致样式规则不生效。

解决步骤

1. 确认目标元素的实际类名

打开浏览器开发者工具(F12),定位到auBankAccount组件的DOM节点,查看输入框及外层容器的实际类名。通常Stripe Elements的输入元素会带有InputElement类,外层容器带有StripeElement类。

2. 调整样式配置

根据实际类名修改样式配置,推荐两种方式:

方式一:直接在base/invalid中定义样式(官方推荐)

将边框、阴影样式直接写入base和invalid对象,无需依赖rules:

const style = {
  base: {
    color: '#32325d',
    fontSize: '16px',
    border: '1px solid red',
    boxShadow: '0px 1px 1px rgba(0, 0, 0, 0.03), 0px 3px 6px rgba(18, 42, 66, 0.02)',
    '::placeholder': {
      color: '#aab7c4'
    },
    ':-webkit-autofill': {
      color: '#32325d',
    },
  },
  invalid: {
    color: '#fa755a',
    iconColor: '#fa755a',
    borderColor: '#fa755a',
    ':-webkit-autofill': {
      color: '#fa755a',
    },
  },
};

方式二:使用正确选择器修改rules

如果必须使用rules,替换为实际匹配的类选择器(示例基于Stripe Elements通用类名):

const style = {
  base: {
    color: '#32325d',
    fontSize: '16px',
    '::placeholder': {
      color: '#aab7c4'
    },
    ':-webkit-autofill': {
      color: '#32325d',
    },
  },
  invalid: {
    color: '#fa755a',
    iconColor: '#fa755a',
    ':-webkit-autofill': {
      color: '#fa755a',
    },
  },
  rules: {
    '.StripeElement .InputElement': {
      border: '1px solid red',
      boxShadow: '0px 1px 1px rgba(0, 0, 0, 0.03), 0px 3px 6px rgba(18, 42, 66, 0.02)',
    },
  },
};

3. 验证样式生效

修改后刷新页面,查看auBankAccount组件样式是否正常应用。若仍不生效,检查选择器是否精准匹配,或是否存在其他CSS规则的优先级冲突。

内容的提问来源于stack exchange,提问作者Sahil Verma

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 12:57:47