将几个div水平居中对齐

3

您好,我想知道如何将多个div水平居中对齐。目前我使用了margin: 0 auto; 让它们居中,但是divs会叠在一起而不是并排放置。你有什么解决方法吗?

这里是一个codepen链接:http://codepen.io/anon/pen/KdMmPo

HTML:

<section id="rating-box">
   <div class="rating"></div>
   <div class="rating"></div>
   <div class="rating"></div>
   <div class="rating"></div>
   <div class="rating"></div>
   <div class="rating"></div>
</section>

CSS:

#rating-box {
    width: 100%;
    margin: 20px 0 20px 0;
}


#rating-box .rating {
    width: 35px;
    height: 35px;
    background-color: #7a7a7a;
    margin: 0 auto;
} 

您可以看到它们重叠在一起,我想知道如何让它们并排站立。

3个回答

9
您可以将display: inline-block应用于子元素,并将text-align: center应用于父元素:

#rating-box {
  width: 100%;
  margin: 20px 0 20px 0;
  text-align: center;
}
#rating-box .rating {
  width: 35px;
  height: 35px;
  background-color: #7a7a7a;
  display: inline-block;
}
<section id="rating-box">
  <div class="rating"></div>
  <div class="rating"></div>
  <div class="rating"></div>
  <div class="rating"></div>
  <div class="rating"></div>
  <div class="rating"></div>
</section>


@Athax 很高兴能帮到你 :) - Alex Char
1
我会尽快给你最佳答案。 - Athax

0

你可以将它们浮动。

#rating-box .rating {
    float: left;
}

不会有帮助的,它们会失去它们的中心。 - Athax

0
#rating-box .rating {
    width: 35px;
    height: 35px;
    background-color: #7a7a7a;
    margin: 0 auto;
    display: inline-block;
}

请考虑在您的答案中添加更多细节。 - Shamas S
为你提供的答案添加更多细节。 - silwar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接