<分区>
<分区>
我正在创建一个页眉,我希望中央 Logo 将所有其他元素定位在它的左右两侧。我希望中央 Logo 始终保持在页眉的正中央。
当 header 中的某些元素不如其他元素宽时,问题就来了,所以我不能使用 justify-content: center
因为它会将所有元素准确地对齐到中心 header 的,但中央 header 被向左或向右推得太远。
我想要的在下面我美丽的 MS 绘画中得到了展示。请注意红色 div 边框的深蓝色元素之间的空间如何在左侧或右侧相同。
最佳答案
我不确定为什么有人会跳到认为这是不可能的 - Flexbox 非常适合这种类型的东西。让我知道这是否是您想要的...
为了解释 - 我在 Flexbox 行中创建了三个容器,其中的元素在中间对齐。中间的容器关闭了 flex,因此它位于中间的适当宽度处。左边和右边的容器是灵活的,可以增长以填充其余空间,从而形成对称。然后,您只需将左侧容器中的元素向右对齐即可。
.f-row {
display: flex;
flex: 1 1 0;
border: 1px black solid;
}
.f-row.no-flex {
flex: none;
}
.f-row.center {
align-items: center;
}
.f-row.right {
justify-content: flex-end;
}
.box {
height: 25px;
width: 50px;
}
.blue {
background: blue;
}
.red {
background: red;
}
.yellow {
background: yellow;
}
.pink {
background: pink;
}
.purple {
background: purple;
}
<div class="f-row center">
<div class="f-row right">
<div class="box blue"></div>
<div class="box red"></div>
<div class="box yellow"></div>
</div>
<div class="f-row no-flex">
<h1>LOGO</h1>
</div>
<div class="f-row">
<div class="box pink"></div>
<div class="box purple"></div>
</div>
</div>
关于html - CSS:使用中心元素作为引用将元素对齐到中心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58664206/