当侧边项目具有不同的宽度时,保持中间项目居中。

7 浏览
0 Comments

当侧边项目具有不同的宽度时,保持中间项目居中。

想象一下以下的布局,其中点表示盒子之间的空间:

[左盒子]......[中间盒子]......[右盒子]

当我移除右盒子时,我希望中间盒子仍然居中,如下所示:

[左盒子]......[中间盒子]................

同样,如果我移除左盒子,也是一样的效果:

................[中间盒子]................

现在,当中间盒子中的内容变得更长时,它会占用尽可能多的可用空间,同时保持居中。左右盒子不会缩小,因此当没有空间时,会使用overflow:hidden和text-overflow:ellipsis来截断内容。

[左盒子][中间盒子xxxxxxxxxxxx][右盒子]

以上是我理想的情况,但我不知道如何实现这种效果。因为当我创建一个flex结构时:

.parent {

display : flex; // 弹性盒子

justify-content : space-between; // 水平对齐

align-content : center; // 垂直对齐

}

如果左右盒子的大小完全相同,我可以得到期望的效果。然而,当其中一个盒子大小不同时,居中的盒子就不再真正居中了。

有人能帮帮我吗?

更新:

justify-self会很好,这样就理想了:

.leftBox {

justify-self : flex-start;

}

.rightBox {

justify-self : flex-end;

}

0