这是一个多行搜索框,所以我希望所有内容都在中间对齐。有可能吗?
答案 0 :(得分:9)
你可以用垂直填充来伪造它。
textarea {
padding: 30px 0;
}
通常,您可以使用line-height
属性,但不能使用多行文本。
答案 1 :(得分:5)
有HTML5 contenteditable
属性。
http://www.w3schools.com/tags/att_global_contenteditable.asp
也许div
代码而不是textarea
可以解决您的问题。
答案 2 :(得分:1)
您可以创建一个脚本来确定元素高度,行高和文本行,并计算填充顶部,甚至\ n来预先添加文本。
我认为只有CSS才有可能。
答案 3 :(得分:1)
回到我问这个问题的日子里,我尝试用textarea实现这一点,如果没有脚本编写,这是不可能的。答案是添加HTML5&connsteditable =" true"在一个表格单元格上,样式=" vertical-align:middle"。如果某个项目允许使用现代HTML,这是一个相当简单有效的解决方案。
如果您不想将<table>
和<tr>
以及<td>
添加到标记中,而是希望像<div>
这样的常规内容,您仍然需要其中两个:< / p>
<div style="display: table">
<div
style="display: table-cell; vertical-align: middle"
contenteditable="true">
I am vertically aligned
</div>
</div>
答案 4 :(得分:0)
不是解决方案而是解决方法,将其包裹在 label
中并将 textarea 的位置设置为中间。警告:一旦文本内容达到其限制,必须重新计算 textarea 行。