【问题标题】:How to centralize a table into a div? [closed]如何将表格集中到一个div中? [关闭]
【发布时间】:2015-10-09 04:37:30
【问题描述】:

我在 div 中有一个表格,如下所示:
我需要在这个 div 中集中表格...
但我尝试设置“文本对齐:中间”失败,如下所示:
有任何想法吗?

【问题讨论】:

  • 这是小提琴:jsfiddle.net/skkhgzx4
  • @JulioCesarBoaroli 噢,伙计,你为什么选择他作为正确答案,而我的答案是第一个?你先选了我的,然后又改成了他的,尽管它们是一样的。他根据我的事实改变了他的(阅读 Steyn 回答的第一条评论)。来吧:(

标签: html css


【解决方案1】:
table {
    margin: 0 auto;
}

将为您解决所有问题!

【讨论】:

  • 最好使用0 auto 而不是auto: stackoverflow.com/a/8312397/2098652
  • 工作人员,谢谢!
  • 您能否解释一下为什么您不必设置 width 才能使其工作。
  • 以 500 个字符的段落为例。如果没有定义的宽度,它只会占用它所能占用的所有空间,对吧?没有什么可居中的,因为该段落是其父级的 100%。在这种情况下,表格已经具有预定义的宽度(有意或无意)。输入字段和标签只占用它们需要的空间,并且不会填充到其父级的 100%。因此,您不需要设置(最大)宽度。
【解决方案2】:

只需在表格中添加margin: 0 auto;,整个表格就会在 div 的中间对齐。

table {
    margin: 0 auto;
}

https://jsfiddle.net/skkhgzx4/5/

【讨论】:

    【解决方案3】:

    只需将display: inline-block; 设置在表和父级text-align: center;

    CODEPEN

    【讨论】:

      【解决方案4】:

      你用 CSS 试过了吗

      #table{
      margin: 0, auto;
      display: block;}
      

      其他方法:

      margin-left: auto;
      margin-right: auto; 
      

      其他方法将表格设置为新的 div。将新 div 的宽度设置为父 div 的 80%。在来自新 div 的 CSS 中,设置 display: block 和 margin: 0, auto。

      如果一切都失败了,

      <center> table </center> 
      

      在 HTML 文本中可以解决问题。

      【讨论】:

        【解决方案5】:

        为您的表格容器div(支票)设置一个固定宽度并给它overflow:hiddenmargin:0 auto;

            <div id="cheque" class="content" 
            style="
              overflow:hidden;
              margin:0 auto; 
              width:300px"> ...
        

        你更新的小提琴:https://jsfiddle.net/skkhgzx4/3/

        【讨论】:

        • 建议内联 CSS 不好,但当 CSS 错误时更糟。
        • 来吧,他到处都有内联 CSS。我正在尝试解决不教授正确编码实践的问题。
        • 在这种情况下,您可以向他展示快速解决方法,例如您所做的,解释为什么它不好,然后向他展示正确的方法,并建议他遵循您的更好方法.如果需要,只需编辑您的答案。
        猜你喜欢
        • 1970-01-01
        • 2023-01-12
        • 2011-04-06
        • 2013-05-27
        • 1970-01-01
        • 2011-08-16
        • 1970-01-01
        • 1970-01-01
        • 2021-01-07
        相关资源
        最近更新 更多