我有以下HTML结构:div元素如何在CSS3 Flexbox中仅占用其内部空间的空间?
<div class="indicator"></div>
<div class="mainPanel">
<div>Speichern</div>
<div>Style</div>
<div>Speichern</div>
</div>
mainPanel中包含三个元素。中间的元素应该始终处于中心如下所示:
这里是CSS代码我用
.indicator {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
position: absolute;
width: 150px;
height: 50px;
border-right: 1px solid red;
z-index: -10;
}
.mainPanel {
width: 300px;
height: 50px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
-webkit-justify-content: space-between;
justify-content: space-between;
-webkit-box-align: center;
-ms-flex-align: center;
-webkit-align-items: center;
align-items: center;
}
.mainPanel > div {
padding: 0 10px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
flex: 1 1 25%;
border: solid 1px #999;
}
.mainPanel > div:nth-child(1) {
background: red;
display: inline-block;
}
.mainPanel > div:nth-child(3) {
background: lime;
}
.mainPanel > div:nth-child(2) {
flex: 900 0 auto;
background: yellow;
text-align: center;
}
我想,在中心的内容不能生长在左和右部分。
我怎样才能让左边和右边的元素的宽度至多是其内容的大小?我怎样才能实现左右元素的宽度不能小于其内容?
这是应该的样子:
这不是我想要的。我希望中心的内容不能在解决方案中发生的左右部分上增长。 – confile 2015-01-03 13:18:27