[英]How can I vertically align a <table> in the middle of a fixed height <div>?
为什么下面的代码不会导致<table>
在<div>
的中间垂直对齐?
<div style="width: 850px; height: 470px;vertical-align: middle;" align="center">
<table style="padding-left: 20px; width: 700px; border: 10px groove #0033CC; background-color: #F9F9F9;">
<tr>
<td>
</td>
<td>
</td>
<td>
</td>
</tr> <tr>
<td>
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td>
</td>
<td>
</td>
<td>
</td>
</tr>
</table>
</div>
我想要<div>
中间的<table>
,但它在顶部! 我该如何解决这个问题?
感谢您未来的建议。
在表格单元格之外, vertical-align
设置一行内文本的垂直对齐方式,而不是整个元素(如表格)的垂直对齐方式。
但是,如果您设置display: table-cell;
在您的<div>
,这似乎达到了您想要的效果。
我不确定有多少浏览器支持这个。 我已经检查了 Chrome 6、Firefox 2 和 Opera 10.5,它们都很好。 Internet Explorer 可能是另一回事。
你试过“display:flex;”吗?
div{ width: 850px; height: 470px; display: flex; /* WIDTH and HEIGHT are required */ justify-content: center; align-items: center; } td, table{ border-collapse: collapse; border: 1px solid black; }
<div> <table> <tr> <td>Lorem</td> <td>Lorem</td> <td>Lorem</td> </tr> <tr> <td>2019</td> <td>2018</td> <td>2017</td> </tr> </table> </div>
试试这个:
<body style="vertical-align:middle">
<table style="display:inline-block">
<!-- your stuff -->
</table>
</body>
table
是块元素。 为了让它垂直对齐,我认为它需要显示为inline
。 在这样的情况下, inline-block
通常会给你两全其美的。 干杯!
它很容易。 始终在每个 TD 中使用这个 >> style="vertical-align:middle" << 。 您可以使用顶部、中间和底部。 您也可以将其推送到 CSS 中。
试试这个:
#centerAligned{
text-align: center;
margin-top: 50%;
}
它对我有用!!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.