我想要做的是让占位符出现在中心 50%top和50%left 上。它似乎在Chrome中很好,但在Firefox 23上却没有。我有一个例子here。 我的风格在这里:
textarea::-moz-placeholder {
position: relative;
font-size: 16px;
font-style: italic;
color: #ABABAB;
top: 50%;
text-align: center;
}
textarea::-webkit-input-placeholder {
position: relative;
font-size: 16px;
font-style: italic;
color: #ABABAB;
top: 50%;
text-align: center;
}
如果有人能提供帮助,我将不胜感激,谢谢!
答案 0 :(得分:2)
我尝试了一些奇怪的东西,但这似乎很合适:
见 jsFiddle
您必须在required
上添加textarea
属性:
<textarea placeholder="Placeholder" required="required"></textarea>
以下是 CSS :
textarea {
height: 300px;
width: 300px;
/* center the text by default */
text-align:center;
resize: none;
}
/* align the text left when insert */
textarea:focus {text-align: left;}
/* textarea not empty will have text align left */
textarea:not(:invalid) {text-align: left;}
/* remove the red shadow of firefox if textarea is empty */
textarea:invalid {box-shadow: none;}
/* hide the placeholder on focus */
textarea:focus::-moz-placeholder {opacity: 0;}
textarea::-moz-placeholder {
position: relative;
font-size: 16px;
font-style: italic;
color: #ABABAB;
/* the main trick to center the placeholder vertically */
line-height:300px;
}
textarea::-webkit-input-placeholder {
position: relative;
font-size: 16px;
font-style: italic;
color: #ABABAB;
line-height: 300px;
/* keep the placeholder centered under chrome */
text-align: center;
}
答案 1 :(得分:0)
在你的css中使用填充而不是给出位置:
textarea::-moz-placeholder {
position: relative;
font-size: 16px;
font-style: italic;
color: #ABABAB;
padding-top: 50px;
padding-left:50px;
text-align: center;
}
textarea::-webkit-input-placeholder {
position: relative;
font-size: 16px;
font-style: italic;
color: #ABABAB;
padding-top: 50px;
padding-left:50px;
text-align: center;
}
您可以根据需要调整填充。