在Safari中居中textarea占位符文本

时间:2012-07-13 04:55:20

标签: javascript css safari

我想将textarea的占位符文本居中。下面的代码在Chrome和IE中运行良好,但在Safari中左对齐:

::-webkit-input-placeholder {
text-align:center;
}

:-moz-placeholder {
text-align:center;
}

如何让它在Safari中居中(最好只使用CSS)?

5 个答案:

答案 0 :(得分:2)

此问题特定于Safari 5.0Safari 5.1 + Win7 - 就其他人所做的测试而言。

Andrew M说它正在Safari 6.0, 5.1Firefox 11工作 - 都在Windows(没有提到版本,可能不是Win 7) - 和Mac。

我刚刚在Safari 6.0.2Chrome 24.0.1Firefox 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;
  }