我如何将这个div元素居中?

时间:2014-04-11 23:11:16

标签: html css alignment

我有以下HTML和CSS - http://jsfiddle.net/64vUR/

相关CSS

 .content {
    position: absolute;
  max-width: 960px;
  min-width: 200px;
  margin: 0 auto;
  left: 0;
  right: 0;
}

我需要将三列水平居中,尽管我尽了最大的努力,包括查看本网站上的其他类似问题,但我无法弄明白。有人可以帮忙吗?感谢

2 个答案:

答案 0 :(得分:7)

Demo

删除

.pricing-table {
    float: left;
}

并添加

.content {
    text-align: center;
}
.pricing-table {
    display: inline-block;
}

inline-block的问题是HTML中的空格分隔了元素,因此即使有width: 48.9%,也不会有两个元素紧挨着另一个元素,因为这是额外的空间。

您可以使用包含换行符和缩进的html注释来解决此问题,或者使用font-size: 0将其解析为父级并将其重置为每列。

在您的情况下,由于您已经拥有自定义font-size,因此可以使用

.content {
    text-align: center;
    font-size: 0;
}
.pricing-table {
    display: inline-block;
} 

Demo

答案 1 :(得分:2)

您可以使用flexbox,效果很好。

.content {
    position: relative;
    max-width: 960px;
    min-width: 200px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
}

Fiddle Demo