我有以下HTML和CSS - http://jsfiddle.net/64vUR/
相关CSS
.content {
position: absolute;
max-width: 960px;
min-width: 200px;
margin: 0 auto;
left: 0;
right: 0;
}
我需要将三列水平居中,尽管我尽了最大的努力,包括查看本网站上的其他类似问题,但我无法弄明白。有人可以帮忙吗?感谢
答案 0 :(得分:7)
删除
.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;
}
答案 1 :(得分:2)
您可以使用flexbox,效果很好。
.content {
position: relative;
max-width: 960px;
min-width: 200px;
margin: 0 auto;
display: flex;
justify-content: center;
}