如何将表格水平和垂直放置在div的中心

新手上路,请多包涵

我们可以将图像设置为 <div> 的背景图像,例如:

 <style>
    #test {

        background-image: url(./images/grad.gif);
        background-repeat: no-repeat;
        background-position: center center;

        width:80%;
        margin-left:10%;
        height:200px;
        background-color:blue;

    }

</style>

<div id="test"></div>

我需要在 <div> 的中心水平和垂直设置一个表。是否有使用 CSS 的跨浏览器解决方案?

原文由 Mou 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 291
2 个回答

居中是 CSS 中最大的问题之一。但是,存在一些技巧:

要水平居中表格,您可以将左右边距设置为自动:

 <style>
  #test {
    width:100%;
    height:100%;
  }
  table {
    margin: 0 auto; /* or margin: 0 auto 0 auto */
  }
</style>

要垂直居中,唯一的方法是使用 javascript:

 var tableMarginTop = Math.round( (testHeight - tableHeight) / 2 );
$('table').css('margin-top', tableMarginTop) # with jQuery
$$('table')[0].setStyle('margin-top', tableMarginTop) # with Mootools

vertical-align:middle 是可能的,因为表是一个块而不是内联元素。

编辑

这里有一个总结 CSS 居中解决方案的网站:http: //howtocenterincss.com/

原文由 ldiqual 发布,翻译遵循 CC BY-SA 3.0 许可协议

这是对我有用的:

 #div {
  display: flex;
  justify-content: center;
}

#table {
  align-self: center;
}

这使它垂直和水平对齐。

原文由 jdlin 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题