我如何定位标签#2和标签#3在panel div的中心,因为标签#1和标签#4分别是左右浮动的。
当浏览器宽度达到一定高度时,我还想将标签#2和标签#3移到标签#1和标签#4下面。所以标签#1和标签#4应该在一起,标签#2和标签#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>
发布于 2015-03-03 00:06:54
假设允许更改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>
https://stackoverflow.com/questions/28821580
复制相似问题