最佳答案
设想下面的布局,其中的点表示盒子之间的空间:
[Left box]......[Center box]......[Right box]
当我移除右边的盒子时,我希望中间的盒子仍然在中间,像这样:
[Left box]......[Center box].................
如果我移除左边的盒子也是一样。
................[Center box].................
现在,当中心框内的内容变长时,它将在保持居中状态的同时,根据需要占用尽可能多的可用空间。左边和右边的盒子将永远不会收缩,因此当没有空间留给 overflow:hidden
和 text-overflow: ellipsis
将有效地打破内容;
[Left box][Center boxxxxxxxxxxxxx][Right box]
以上都是我的理想情况,但我不知道如何实现这个效果。因为当我创建一个这样的伸缩结构时:
.parent {
display : flex; // flex box
justify-content : space-between; // horizontal alignment
align-content : center; // vertical alignment
}
如果左边和右边的盒子大小完全一样,我就可以得到想要的效果。然而,当其中一个来自不同的大小,居中的盒子不再真正居中。
有人能帮我吗?
更新
justify-self
是不错的选择,这是最理想的:
.leftBox {
justify-self : flex-start;
}
.rightBox {
justify-self : flex-end;
}