我想将textarea
的占位符文本居中。下面的代码在Chrome和IE中运行良好,但在Safari中左对齐:
::-webkit-input-placeholder {
text-align:center;
}
:-moz-placeholder {
text-align:center;
}
如何让它在Safari中居中(最好只使用CSS)?
答案 0 :(得分:2)
此问题特定于Safari 5.0
和Safari 5.1 + Win7
- 就其他人所做的测试而言。
Andrew M说它正在Safari 6.0, 5.1
和Firefox 11
工作 - 都在Windows
(没有提到版本,可能不是Win 7
) - 和Mac。
我刚刚在Safari 6.0.2
,Chrome 24.0.1
,Firefox 18.0.1
上测试了以下代码,并确认其有效。不适用于Opera 12.10
。全部在OSX Lion
上进行了测试。 http://jsfiddle.net/dreamyguy/ZzdPH/
HTML
<input type="text" placeholder="Lorem ipsum" />
CSS
input { width: 200px; }
::-webkit-input-placeholder {
text-align:center;
}
:-moz-placeholder {
text-align:center;
}
:-ms-input-placeholder {
text-align:center;
}
也许您应该编辑此问题并使其特定于Safari 5.0及更低版本,因为它是Safari特定的问题,因为该问题已在更高版本中修复。
此参考也可能有用:http://blog.ajcw.com/2011/02/styling-the-html5-placeholder/
答案 1 :(得分:0)
input[type=textarea]
{
line-height: 1;
}
答案 2 :(得分:0)
我遇到过这个问题,我必须在中心对齐占位符但文字对齐:中心没有在SAFARI上工作,经过多次试验后我遇到了一个解决方案,这不能保证确切的中心但是能够满足要求。
解决方案=&gt;使用text-indent
input{
height:40px;
width:190px;
text-indent:60px;
}
答案 3 :(得分:0)
如果要将占位符放入textarea的中心,则需要设置textareas高度并将行高设置为占位符高度以及文本对齐中心。以下是迄今为止所有可用的方法。
textarea {
min-height: 60px;
}
textarea::-webkit-input-placeholder, {
text-align: center;
line-height: 60px; // Input Height
}
textarea:-moz-placeholder { /* Firefox 18- */
text-align: center;
line-height: 60px; // Input Height
}
textarea::-moz-placeholder { /* Firefox 19+ */
text-align: center;
line-height: 60px; // Input Height
}
textarea:-ms-input-placeholder {
text-align: center;
line-height: 60px; // Input Height
}
答案 4 :(得分:-1)
我制作了一个适用于Safari 5+以及所有其他浏览器的简单解决方案,您可以在以下位置查看:http://jsfiddle.net/joaorito/RqUJL
<强> HTML 强>
<div class="center_area">
<ul class="V_align">
<li class="V_cell">
<div class="V_element">Maecenas sed diam eget risus varius blandit sit amet non magna.</div>
</li>
</ul></div>
<强> CSS 强>
.center_area
{
font-size: 16px;
width: 300px;
height: 300px;
border: 5px solid black;
}
.center_area ul
{
margin: 0;
padding: 0;
list-style: none;
background-color: red;
height: 100%;
width: 100%;
}
.center_area ul li
{
color: #FFF;
font-size: 1.500em;
line-height: 28px;
}
.center_area ul li div
{
background-color: green;
padding: 10px;
text-align: center;
}
.center_area .V_align
{
display: table;
overflow: hidden;
}
.center_area .V_align .V_cell
{
display: table-cell;
vertical-align: middle;
width: 100%;
margin: 0 auto;
}
.center_area .V_align .V_cell .V_element
{
display: block;
}