内容导致div位移

时间:2016-03-28 20:47:37

标签: html css

将内容“P”添加到tile div时,会导致所述div的位移。 div只需要包含1个字符。任何更好的方法来实现堆叠圆圈的金字塔也是受欢迎的。

https://jsfiddle.net/usm9t60r/

HTML

<div class="container">
    <div class="row">
        <div class="tile circle">P</div>
        <div class="tile circle"></div>
        <div class="tile circle"></div>
        <div class="tile circle"></div>
        <div class="tile circle"></div>
        <div class="tile circle"></div>
    </div>
    <div class="row">
        <div class="tile circle"></div>
        <div class="tile circle"></div>
        <div class="tile circle"></div>
        <div class="tile circle"></div>
        <div class="tile circle"></div>
    </div>
    <div class="row">
        <div class="tile circle"></div>
        <div class="tile circle"></div>
        <div class="tile circle"></div>
        <div class="tile circle"></div>
    </div>
    <div class="row">
        <div class="tile circle"></div>
        <div class="tile circle"></div>
        <div class="tile circle"></div>
    </div>
    <div class="row">
        <div class="tile circle"></div>
        <div class="tile circle"></div>
    </div>
    <div class="row">
        <div class="tile circle"></div>
    </div>
</div>

CSS

body { 
    font-size: 62.5%; 
}

.container {
    min-width: 32rem;
    max-width: 96rem;
    margin: 0 auto;
}

.row {
    text-align: center;
    margin-bottom: -0.5rem;
}

.circle {
    background: #ccc;
    width: 5rem;
    height: 5rem;
    border-radius: 50%;
    display: inline-block;
}

2 个答案:

答案 0 :(得分:0)

您可以在

中添加空格字符
<div class="tile circle">&nbsp;</div>

答案 1 :(得分:0)

由于您已使用.circle为每个display:inline-block元素设置了样式,并且vertical-align的默认值为baseline,因此向元素添加文字会使其与其他元素的基线。

我通过将vertical-align:top添加到.circle类来获得成功。

&#13;
&#13;
body {
  font-size: 62.5%;
}
.container {
  min-width: 32rem;
  max-width: 96rem;
  margin: 0 auto;
}
.row {
  text-align: center;
  margin-bottom: -0.5rem;
}
.circle {
  background: #ccc;
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  display: inline-block;
  vertical-align:top;
}
&#13;
<div class="container">
  <div class="row">
    <div class="circle">P</div>
    <div class="circle"></div>
    <div class="circle"></div>
    <div class="circle"></div>
    <div class="circle"></div>
    <div class="circle"></div>
  </div>
  <div class="row">
    <div class="circle"></div>
    <div class="circle"></div>
    <div class="circle"></div>
    <div class="circle"></div>
    <div class="circle"></div>
  </div>
  <div class="row">
    <div class="circle"></div>
    <div class="circle"></div>
    <div class="circle"></div>
    <div class="circle"></div>
  </div>
  <div class="row">
    <div class="circle"></div>
    <div class="circle"></div>
    <div class="circle"></div>
  </div>
  <div class="row">
    <div class="circle"></div>
    <div class="circle"></div>
  </div>
  <div class="row">
    <div class="circle"></div>
  </div>
</div>
&#13;
&#13;
&#13;