是否可以像这张图片一样水平居中.div2
而没有位置absolute/fixed
?
div3可以改变宽度
这是我的代码:
body {
margin:0;
}
.test {
background:green;
color:#fff;
display:flex;
}
.test .div1 {
}
.test .div2 {
margin:0 auto;
background:red;
}
.test .div3 {
margin:0 0 0 auto;
}

<div class="test">
<div class="div1">Left options</div>
<div class="div2">Center div</div>
<div class="div3">Username: test (string can change)</div>
</div>
&#13;
答案 0 :(得分:0)
给父元素显示flex。然后SparkR
在主轴上对齐孩子,并且`align-items'将孩子垂直对齐。
获取更多详细信息https://css-tricks.com/snippets/css/a-guide-to-flexbox/
justify-contents
答案 1 :(得分:0)
你可以给所有divs 33.3333%宽度
.test {
background:green;
color:#fff;
display:flex;
}
.test .div1 {
width:33.3333%;
}
.test .div2 {
margin:0 auto;
background:red;
width:33.3333%;
}
.test .div3 {
margin:0 0 0 auto;
width:33.3333%;
}
&#13;
<div class="test">
<div class="div1">Left options</div>
<div class="div2">Center div</div>
<div class="div3">Username: test (string can change)</div>
</div>
&#13;
答案 2 :(得分:0)
使用如下所示的display:flex
样式属性。
body {
margin:0;
}
.test {
background: green;
color:#fff;
display:flex;
}
.test div {
flex: 1;
display: flex;
justify-content: center;
align-items: center;
border: 1px solid #ccc;
background-color: green;
height: 50px;
}
&#13;
<div class="test">
<div>Left options</div>
<div>Center div</div>
<div>Username: test (string can change)</div>
</div>
&#13;
答案 3 :(得分:0)
float:left;
内的所有div
进行{p> .test
即可。
.test>div{float:left;}
如果您希望div
占据整个宽度,请将其宽度设为width:33.3333%;
(divs
/ 100号)
答案 4 :(得分:0)
我觉得你希望div2保持它的大小,div1和div3元素会增长直到它们触摸它。为这些元素设置0的基于弹性的基础
body {
margin: 0;
}
.test {
background: green;
color: #fff;
display: flex;
}
.test .div2 {
background: red;
}
.test .div1,
.test .div3 {
flex-basis: 0;
flex-grow: 1;
}
.div3 {
text-align: right;
}
&#13;
<div class="test">
<div class="div1">Left options</div>
<div class="div2">Center div</div>
<div class="div3">Username: test (string can change)</div>
</div>
&#13;