【发布时间】:2015-11-29 11:37:48
【问题描述】:
想象以下布局,其中的点表示框之间的空间:
[Left box]......[Center box]......[Right box]
当我移除右边的盒子时,我喜欢中心盒子仍然在中心,就像这样:
[Left box]......[Center box].................
如果我要删除左边的框,也是如此。
................[Center box].................
现在,当中心框中的内容变长时,它会根据需要占用尽可能多的可用空间,同时保持居中。左右框永远不会缩小,因此当没有空间时,overflow:hidden 和text-overflow: ellipsis 将生效以破坏内容;
[Left box][Center boxxxxxxxxxxxxx][Right box]
以上都是我的理想情况,但我不知道如何实现这个效果。因为当我像这样创建一个 flex 结构时:
.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;
}
【问题讨论】:
-
基本上......你不能。这不是
flexbox应该如何工作的。您可以尝试其他方法。 -
如果这样做的话,真的会完成 flexbox。因为 flexbox 是关于分配空间以及项目在其中的行为方式。
-
我们今天早些时候讨论了
justify-self,所以你可能会觉得这很有趣:stackoverflow.com/questions/32551291/…
标签: html css flexbox centering