无法将占位符置于moz-placeholder的中心位置

时间:2013-09-12 08:01:02

标签: firefox center placeholder

我只需要在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/

尝试此错误

1 个答案:

答案 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}}