如何在Flexbox中对齐内容

时间:2016-09-20 20:11:15

标签: css flexbox

我有3个项目,需要在中心水平对齐其内容。所以itemAContainer和itemCContainer将在中间显示为itemB而不是在左侧..(白边框)

在没有更改itemAContainer和itemCContainer及其孩子的情况下,有没有这样做呢?我尝试了很多没有运气的解决方案。

#wrapper {padding-top:2px;color:#ff0000;background:#3a3a39;border-radius:4px; margin-top:44px; width:100%;}
.section-wrapper {display: flex;height: 100%;display: -webkit-box;    display: -moz-box;    display: -ms-flexbox;  display: -webkit-flex;
    align-items: center;  justify-content: center;}
.left, .center, .right {min-width: 166px;}
.left {  flex: 0 33%;}
.center {  flex: 33%;}
.right {  flex: 0 33%;}
.home-left {margin:-1px 4px -1px -4px; border:1px solid #fff;border-top-left-radius:8px; border-bottom-left-radius:8px;border-top-right-radius:8px;border-bottom-right-radius:8px;z-index:1;}
.home-center {display:table-cell; background-color:#3a3a39; margin:-1px 4px -1px -4px; width:33.3%; text-align:center;z-index:1;}
.home-right {margin-right:2px;border:1px solid #fff;border-top-left-radius:8px;border-bottom-left-radius:8px;border-top-right-radius:8px;border-bottom-right-radius:8px;z-index:1;}
<div id="wrapper">  
    <div class="section-wrapper">
        <div class="left">
            <div class="home-left">
                <div id="itemAContainer" style="position:relative;width:168px; height:440px;">
                    <div id="itemAImage" style="position: absolute; bottom: 0;">
                        <img src="https://i.imgsafe.org/191427cf89.png" border="1" style="width:166px;height:420px;z-index:10;">
                    </div>
                </div>
            </div>
        </div>
        <div class="center"><div class="home-center"><img  src="https://i.imgsafe.org/19143b4e85.png" width="166" height="420" border="1"  alt=""/></div></div>
        <div class="right">
            <div class="home-right">
                  <div id="itemCContainer" style="position:relative;width:168px; height:440px;">
                    <div id="itemCImage" style="position: absolute; bottom: 0;">
                        <img src="https://i.imgsafe.org/191452f4ea.png" border="1" style="width:166px;height:420px;z-index:10;">
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

1 个答案:

答案 0 :(得分:1)

您还需要将home-lefthome-right类设为flex-container。

#wrapper {
  padding-top: 2px;
  color: #ff0000;
  background: #3a3a39;
  border-radius: 4px;
  margin-top: 44px;
  width: 100%;
}
.section-wrapper {
  display: flex;
  height: 100%;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  align-items: center;
  justify-content: center;
}
.left,
.center,
.right {
  min-width: 166px;
}
.left {
  flex: 0 33%;
}
.center {
  flex: 33%;
}
.right {
  flex: 0 33%;
}
.home-left {
  margin: -1px 4px -1px -4px;
  border: 1px solid #fff;
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
  z-index: 1;
  display: flex;
  justify-content: center;
}
.home-center {
  display: table-cell;
  background-color: #3a3a39;
  margin: -1px 4px -1px -4px;
  width: 33.3%;
  text-align: center;
  z-index: 1;
}
.home-right {
  margin-right: 2px;
  border: 1px solid #fff;
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
  z-index: 1;
  display: flex;
  justify-content: center;
}
<div id="wrapper">
  <div class="section-wrapper">
    <div class="left">
      <div class="home-left">
        <div id="itemAContainer" style="position:relative;width:168px; height:440px;">
          <div id="itemAImage" style="position: absolute; bottom: 0;">
            <img src="https://i.imgsafe.org/191427cf89.png" border="1" style="width:166px;height:420px;z-index:10;">
          </div>
        </div>
      </div>
    </div>
    <div class="center">
      <div class="home-center">
        <img src="https://i.imgsafe.org/19143b4e85.png" width="166" height="420" border="1" alt="" />
      </div>
    </div>
    <div class="right">
      <div class="home-right">
        <div id="itemCContainer" style="position:relative;width:168px; height:440px;">
          <div id="itemCImage" style="position: absolute; bottom: 0;">
            <img src="https://i.imgsafe.org/191452f4ea.png" border="1" style="width:166px;height:420px;z-index:10;">
          </div>
        </div>
      </div>
    </div>
  </div>
</div>