2 回答
TA贡献1836条经验 获得超4个赞
使用该flex-grow属性可使Flex项目占用主轴上的可用空间。
此属性将尽可能扩展项目,将长度调整为动态环境,例如屏幕重新调整大小或添加/删除其他项目。
一个常见的例子是flex-grow: 1或使用速记属性flex: 1。
因此,不要width: 96%使用你的div,而是使用flex: 1。
你写了:
所以目前,它设置为96%,看起来没问题,直到你真的挤压屏幕 - 然后右手div有点缺乏它所需的空间。
压缩固定宽度div与另一个flex属性有关: flex-shrink
默认情况下,将flex项设置为flex-shrink: 1允许它们缩小以防止容器溢出。
要禁用此功能,请使用flex-shrink: 0。
有关详细信息,请参阅答案中的flex-shrink因子部分:
了解有关沿主轴的柔性对齐的更多信息:
在此处了解有关沿交叉轴的柔性对齐的更多信息:
TA贡献1797条经验 获得超4个赞
基本上我试图让我的代码在'行'上有一个中间部分来自动调整两边的内容(在我的例子中,是一个虚线分隔符)。就像@Michael_B建议的那样,关键是display:flex在行容器上使用,并至少确保行上的中间容器的flex-grow值至少为1(如果外部容器没有flex-grow应用任何属性)。
这是我试图做的图片以及我如何解决它的示例代码。
编辑:虚线底部边框可能看起来很奇怪,具体取决于浏览器的显示方式。我个人建议使用黑色圆圈SVG作为重复的背景图像,尺寸合适并定位在中间容器的底部。当我有时间时,会添加这个替代解决方案。
.row {
background: lightgray;
height: 30px;
width: 100%;
display: flex;
align-items:flex-end;
margin-top:5px;}.left {
background:lightblue;}.separator{
flex-grow:1;
border-bottom:dotted 2px black;}.right {
background:coral;}<div class="row"> <div class="left">Left</div> <div class="separator"></div> <div class="right">Right With Text</div></div><div class="row"> <div class="left">Left With More Text</div> <div class="separator"></div> <div class="right">Right</div></div><div class="row"> <div class="left">Left With Text</div> <div class="separator"></div> <div class="right">Right With More Text</div></div>
- 2 回答
- 0 关注
- 2042 浏览
相关问题推荐
添加回答
举报
