如何css让表格td中的文字垂直居中,请注意这都是一行一列的?

希望是试验好了的回答
<table border="1" style="margin-left:30%;border:solid;" width=500px height=300px;>
<tr>
<td style="font-weight:bold;font-size:23px;text-align:center;">编辑心情</td>
</tr>
<tr>
<td style="font-weight:bold;font-size:17px;">心情标题:<input type="text" value=<%=mi.getTitle() %> id="title" name="title"></td>
</tr>
<tr>
<td style="font-weight:bold;font-size:17px;">心情内容:<textarea rows="4" cols="44" name="content" id="content"><%=mi.getContent() %></textarea></td>
</tr>

文字垂直居中的有如下的方法


方法一:valign:middle

代码如下:

<table>
<tbody>
<tr>
<td valign="middle">垂直居中</td>
</tr>
</tbody>
</table>


方法二:style="display:table-cell; vertical-align:middle"

代码如下:

<table>
<tbody>
<tr>
<td style="display:table-cell; vertical-align:middle">垂直居中</td>
</tr>
</tbody>
</table>


方法三:style="height:20px;/*高度根据实际情况设置*/ line-height:22px;/*根据实际情况设置到达垂直居中即可*/"

<table>
<tbody>
<tr>
<td style="height:20px;/*高度根据实际情况设置*/ line-height:22px;/*根据实际情况设置到达垂直居中即可*/">垂直居中</td>
</tr>
</tbody>
</table>
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-24
你在心情内容这个TD里面在套个1行2列的表格,然后再给这2个设置居中属性就可以了。追问

为什么不能一行一列的搞呢

追答

因为表格有这个bug在的,你要想在一个TD里面重新布局,要重新套个table进去,这样才能重新布局。

本回答被提问者采纳
第2个回答  2013-08-24
<html>
<body>
<table>
<tr>
<td style="width:300px;height:40px; border:3px solid #FF0000; text-align:center">
这是td居中测试
</td>
</tr>
</table>
</body>
</html>

效果:

追问

旁边还有个文本域,你敲敲

追答<html>
<body>
<table>
<tr>
<td style="width:300px;height:40px; border:3px solid #FF0000; text-align:center">
这是td居中测试
</td>
</tr>
</table>
<br /><br />
<textarea style="width:400px; height:100px; text-align:center; line-height:96px">这是textarea居中测试</textarea>
</body>
</html>

效果:

追问

一行一列的显示,你敲敲

追答

朋友,你到底想达到什么样的效果?什么叫“一行一列的显示”??ps做个图看看

追问

就是心情内容: 在那个右边那个框框的"中间",这一列我只用了一个TD

追答

把你的代码粘上来,给你看看,没明白你什么意思,td不行,textarea不行,不知道你想要什么css样式。你直接把你的html粘上来,给你看看

第3个回答  2018-08-21
td的text-align=center,在td里的文字外面套个p标签 , p标签设置margin.
第4个回答  2013-08-24
<td style="vertical-align: middle;">我一般是这么处理。。