好像我没有理解Flexbox的权利。
但我认为flexboxitem中div的含义会被忽略。
喜欢这个小提琴:https://jsfiddle.net/34f9awsk/6/
CSS:
<div class="wrapper">
<div class="ele ele3" style="background-color: red;">
<input type="number" size="4" value="9999" />
</div>
<div class="ele ele1" style="background-color: green;">
2
</div>
<div class="ele ele3" style="background-color: yellow;">
<input type="number" size="4" value="9999" />
</div>
</div>
HTML:
{{1}}你可以帮我解决一下吗?
谢谢!
答案 0 :(得分:5)
Flexbox项目的min-width
默认为auto
,这意味着它们不会收缩到其内容宽度以下。
在这种情况下,您的input
元素在用户代理样式表中设置了默认宽度,然后指定Flex项的大小。
授予ele
一个min-width: 0
,它将按预期工作。
.wrapper {
width: 200px;
display: -webkit-flex;
display: flex;
-webkit-align-items: center;
align-items: center;
-webkit-justify-content: center;
justify-content: center;
flex-direction: row;
}
.ele {
display: -webkit-flex;
display: flex;
-webkit-align-items: center;
align-items: center;
-webkit-justify-content: center;
justify-content: center;
flex-direction: row;
flex: 3;
min-width: 0;
}
.ele1 {
flex: 1;
}
.ele input {
display: inline;
max-width: 100%;
}
<div class="wrapper">
<div class="ele ele3" style="background-color: red;">
<input type="number" value="9999" />
</div>
<div class="ele ele1" style="background-color: green;">
2
</div>
<div class="ele ele3" style="background-color: yellow;">
<input type="number" value="9999" />
</div>
</div>