布局问题:中心有两个固定列

Layout Issue: Two Fixed Columns in Center

鉴于标签 #1 和标签 #4 分别向左和向右浮动,我如何将标签 #2 和标签 #3 定位在 panel div 的中心。

我还想在浏览器宽度达到一定高度时,将 Label #2 和 Label #3 移动到 Label #1 和 Label #4 下面。所以 Label #1 和 Label #4 应该在一起,Label #2 和 Label #3 也应该在它们的正下方。

在此处查看我的示例:http://jsfiddle.net/p7ws5cxx

html, body {
  font-family:'Helvetica Neue', Arial, sans-serif;
  font-size: 14px;
  font-weight: 500;
}
#panel {
  width: 100%;
  background: #ddd;
  display: block;
  height: auto;
  float: left;
}
.box-1, .box-2, .box-3, .box-4 {
  border: 2px solid #aaa;
  background: #fff;
  padding: 1em;
  width: auto;
  float: left;
  border-radius: 2px;
  display: inline-block;
}
.center-box {
  margin: 0 auto;
  float :left;
  border: 1px solid blue;
  text-align: center;
}
.box-4 {
  float: right;
}
@media screen and (max-width: 568px) { 
  .box-1, .box-4 {
    width: 50%;
    float: left;
  }
  .center-box {
    margin: 0 auto;
  }
}
<div id="panel"> 
    <span class="box-1">Label #1</span>
    <div class="center-box"> 
        <span class="box-2">Label #2</span>
        <span class="box-3">Label #3</span>
    </div> 
    <span class="box-4">Label #4</span>
</div>

假设允许更改 HTML 元素的顺序,则可以通过 float.box-1/.box-4 更改为 left 来实现布局/right 并将其他框显示为内联元素。

然后为了使它们在面板的中心对齐,我们可以将 text-align: center 添加到 .center-box 元素。

另请注意,在内联流程中,有一个 whitespace between inline-level elements。消除差距的一种选择是将父级的 font-size 设置为 0,然后将其重新设置为子级的默认值。

*, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

html, body {
    font: 500 14px 'Helvetica Neue', Arial, sans-serif;
}
#panel {
    background: #ddd;
}
#panel:after,
#panel:before {
    content: "";
    display: table;
}
.box-1, .box-2, .box-3, .box-4 {
    border: 2px solid #aaa;
    background: #fff;
    padding: 1em;
    border-radius: 2px;
}
.box-1 {
    float: left;
}
.box-4 {
    float: right;
}
.box-2, .box-3 {
    display: inline-block;
    vertical-align: top;
    font-size: 14px;
}
.center-box {
    border: 1px solid blue;
    text-align: center;
    font-size: 0;
}

@media screen and (max-width: 568px) { 
    [class^="box-"] {
        width: 50%;
    }
}
<div id="panel"> 
    <span class="box-1">Label #1</span>
    <span class="box-4">Label #4</span>
    <div class="center-box"> 
        <span class="box-2">Label #2</span>
        <span class="box-3">Label #3</span>
    </div> 
</div>