Javascript 设置占位符的css样式 我正在尝试设置占位符的css样式 所以我在输入类中使用了红色 但它仍然没有改变 我研究并发现了这个链接 但还是没有运气 你能告诉我怎么修吗 下面提供我的代码片段和沙盒

Javascript 设置占位符的css样式 我正在尝试设置占位符的css样式 所以我在输入类中使用了红色 但它仍然没有改变 我研究并发现了这个链接 但还是没有运气 你能告诉我怎么修吗 下面提供我的代码片段和沙盒,javascript,html,reactjs,material-ui,Javascript,Html,Reactjs,Material Ui,输入:{ 边缘左:8, 弹性:1, “&::占位符”:{ //fontSize:“14!重要”, 颜色:“红色” } }, 另外,像这样设置输入占位符 ::-webkit-input-placeholder { /* WebKit browsers */ color: "red" } ::-moz-placeholder { /* Mozilla Firefox 19+ */ color: "red" } :-ms-input-placeholder { /* Internet E

输入:{
边缘左:8,
弹性:1,
“&::占位符”:{
//fontSize:“14!重要”,
颜色:“红色”
}
},
另外,像这样设置输入占位符

::-webkit-input-placeholder { /* WebKit browsers */
  color: "red"
}

::-moz-placeholder { /* Mozilla Firefox 19+ */
  color: "red"
}

:-ms-input-placeholder { /* Internet Explorer 10+ */
 color: "red"
} 

您不应该使用
className
属性,而应该使用
classes
属性来覆盖InputBase组件的默认样式

我认为
className
在这种情况下不起作用的原因是
className
只针对包装器元素的样式,而
classes
将允许您完全覆盖
InputBase
的特定元素,例如
input
本身。您可以在上面的文档中阅读更多关于它的信息



我已经为您复制了一个演示。

我相信您需要的是伪选择器
::占位符{color:red;}

这表明这已经得到了相当广泛的接受


这将允许占位符为红色,但输入将被格式化为您指定的任何颜色。

这将不起作用。。这将使整个字段变为红色,包括用户键入的文本。请重试。这是你想要的吗?注意:在和之间有一个空格::-webkit输入占位符
::-webkit-input-placeholder { /* WebKit browsers */
  color: "red"
}

::-moz-placeholder { /* Mozilla Firefox 19+ */
  color: "red"
}

:-ms-input-placeholder { /* Internet Explorer 10+ */
 color: "red"
} 
<InputBase
  classes={{
    input: classes.input,
  }}
  placeholder="Search Google Maps"
/>