为什么 text-align:center 没有将我的 DIV 中的所有元素居中?

Why is text-align:center not centering all the elements within my DIV?

我在 DIV、另一个 DIV 和 table 中有两个块元素。我想将它们都放在容器 DIV 的中心,所以我尝试了

#container-content {
    text-align: center;
}

这是我正在使用的HTML

<div id="container-content" style="background-color:orange;">
    <h3>My Subscriptions</h3> 

    <table id="subscriptions-table">
        <thead>
            <tr>
                <th>Subscription</th>
                <th>Download</th>
            </tr>
        </thead>
        <tbody>
            <tr class="even subscription-row header">
                    <td class="ig-header-title ellipsis">
                    <img src="/assets/s-icon-0d60471f901d65172728d3df0e793b2ee4493a529c1a1dca73409fdae56ad362.png" alt="S icon">
                    <a class="name ellipsis" href="/scenarios/18">My Scenario #1</a>
                </td>  
                <td align="center"><a href="/scenarios/18/download"><img src="/assets/zip_icon-c2a0694959db12a0939d264d4283478c1f59a4b118df839d7020aca929a1df61.png" alt="Zip icon"></a></td>
            </tr> 
        </tbody>
    </table>
</div>

这是说明问题的 Fiddle — https://jsfiddle.net/0nrcfkr5/1/。如何在较大的 DIV 中居中 table(使用 CSS)?

text-align 将只对行内元素进行操作。您可以通过将左右边距设置为自动来使您的 div 居中:

#subscriptions-table {
  margin: 0 auto;
}

https://jsfiddle.net/0nrcfkr5/2/

#container-content table {
  display: inline-block;
}

这将继承父容器的文本对齐方式并居中 table。