中间(垂直)对齐<textarea>内的文本

Bir*_*sky 16 html css

这是一个多线搜索框,所以我希望所有内容都在中间对齐.可能吗?

ale*_*lex 9

你可以用垂直填充来伪造它.

textarea {
    padding: 30px 0;
}
Run Code Online (Sandbox Code Playgroud)

通常,您可以使用该line-height属性,但不能使用多行文本.

  • auto 不是有效的填充值 (2认同)

小智 5

有HTML5 contenteditable属性。 http://www.w3schools.com/tags/att_global_contenteditable.asp

也许使用div标记代替textarea可以解决您的问题。


Bir*_*sky 5

早在我问这个问题的时候,我尝试使用 textarea 实现这一点,这在没有脚本的情况下是不可能的。答案是在 style="vertical-align: middle" 的表格单元格上添加 HTML5 的 contenteditable="true"。如果一个项目允许使用现代 HTML,这是一个相当简单有效的解决方案。

。如果不加入<table>,并<tr><td>您的标记,你会喜欢的东西经常像<div>,你还是需要两个人:

<div style="display: table">
  <div 
    style="display: table-cell; vertical-align: middle"
    contenteditable="true">
    I am vertically aligned
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

  • 现在我会使用“flex”而不是“table-cell”。所以你最终会得到 `&lt;div style="display: flex;align-items: center" contenteditable="true"&gt;` (4认同)