我只需要在Firefox中占位符,但不起作用,占位符显示在左侧。
的 CSS 的 **
:-moz-placeholder { text-align:center; } /*FF Old*/
::-moz-placeholder { text-align:center; } /*FF19+*/
::-webkit-input-placeholder{ text-align:center; } /*Chrome*/
:-ms-input-placeholder{ text-align:center; } /*IE10*/
的 HTML 的 **
<input id="test" placeholder="test!">
您可以使用FF23和http://jsfiddle.net/eliaspizarro/ze4fV/
尝试此错误答案 0 :(得分:4)
这不是一个错误。目前还没有浏览器供应商可以遵循的规范。虽然浏览器现在不支持它,但似乎:placeholder-shown
正在逐步实现标准化。
非标准::-moz-placeholder
受限于它可以接受的样式规则。 text-align
不是公认的规则之一(rule没有设置CSS_PROPERTY_APPLIES_TO_PLACEHOLDER
位。
因此,在撰写本文时,您无法将text-align
与::-moz-placeholder
一起使用。
但是,您可以text-align
整个<input>
。
如果您只希望占位符文字居中但未输入文字,那么您可以在.style.textAlign
更改时根据<input>.value
添加一些Javascript来设置<input>.addEventListener("input", function(e) {
this.style.textAlign = this.value === "" ? "center" : "left";
});
。这是一个讨厌的解决方案,但应该工作。例如。见this fiddle。
{{1}}