【发布时间】:2013-09-27 06:40:59
【问题描述】:
我有一个简单的table 和 1 TD 和 vertical-align:middle;。这个TD 包含一个Image:
table
{
border:solid 1px red;
width:300px;
}
td
{
height:100px;
vertical-align:middle;
width:100%;
border:solid 1px green;
}
img
{
height:43px;width:43px;
}
span
{
vertical-align:middle;
}
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8/>
<title>JS Bin</title>
</head>
<body>
<table>
<tr>
<td>
<img src='http://static.jsbin.com/images/favicon.png'/>
</td>
</tr>
</table>
</body>
</html>
一切正常,IMG 垂直对齐。
但是如果我在该图片之后添加其他元素(例如 span):
table
{
border:solid 1px red;
width:300px;
}
td
{
height:100px;
vertical-align:middle;
width:100%;
border:solid 1px green;
}
img
{
height:43px;width:43px;
}
span
{
vertical-align:middle;
}
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8/>
<title>JS Bin</title>
</head>
<body>
<table>
<tr>
<td>
<img src='http://static.jsbin.com/images/favicon.png'/>
<span>aaa</span>
</td>
</tr>
</table>
</body>
</html>
问题
TD的垂直对齐不应该垂直对齐所有它的孩子吗?
我怎样才能使span 居中以及?
注意
我不想添加另一个 TD ,也不想将 float 与填充/边距一起使用。 IE8+。
编辑:
想要的结果:
【问题讨论】:
-
跨度是否有固定高度(或)会增加吗?
-
@Harry 跨度确实有一个固定的高度(比如说上限)并且不会增加。这是一个标题。
-
您可以检查解决方案是否合适。虽然有人无缘无故投了反对票。 :)
-
这里有一个解决方案 => stackoverflow.com/a/57590933/2736742
标签: html css vertical-alignment