Css Flex box不将项目收缩到不可见状态

Css Flex box不将项目收缩到不可见状态,css,flexbox,Css,Flexbox,这是我第一次使用CSS flexbox布局。对于移动页面布局,我有两个要对齐的行:一个按钮和一个文本框。按钮位于左侧,应占据其正常需要的任何空间。文本框是正确的,应该会填满所有剩余的空间-但不会更多 有了这段代码,文本框几乎填满了整行,只为按钮留下了几个像素,这远远不足以完全显示它。按钮无法在拉伸的文本框上保持必要的大小。怎么了 <div id="mobile-tools"> <input type="button" id="navigation-button" ...>

这是我第一次使用CSS flexbox布局。对于移动页面布局,我有两个要对齐的行:一个按钮和一个文本框。按钮位于左侧,应占据其正常需要的任何空间。文本框是正确的,应该会填满所有剩余的空间-但不会更多

有了这段代码,文本框几乎填满了整行,只为按钮留下了几个像素,这远远不足以完全显示它。按钮无法在拉伸的文本框上保持必要的大小。怎么了

<div id="mobile-tools">
<input type="button" id="navigation-button" ...>
<div id="search-box"><input type="search" ...></div>
</div>

#mobile-tools
{
    display: flex;
}
#navigation-button
{
    flex: 0;
}
#search-box
{
    flex: 1;
}
#search-box input[type="search"]
{
    width: 100%;
}

#移动工具
{
显示器:flex;
}
#导航按钮
{
弹性:0;
}
#搜索框
{
弹性:1;
}
#搜索框输入[type=“search”]
{
宽度:100%;
}

为了示例的简洁,Webkit前缀被省略了。目前在最新的stable Desktop Chrome中进行测试,稍后在stable/beta版Android Chrome和当前的Android Firefox中进行测试。

您需要为您的按钮提供一个灵活的基本值:


您需要为按钮提供一个弹性基准值:


您需要为按钮提供一个弹性基准值:


您需要为按钮提供一个弹性基准值:



通过移除
宽度:100%产生任何影响?相关:删除100%不会将文本框拉伸到任何地方。按钮上有一个文本,文本应在一行中完全可见。按钮不应占用更多空间。只是一个常规的“自动调整大小”,就像我在WPF中使用的那样。通过删除
width:100%产生任何影响?相关:删除100%不会将文本框拉伸到任何地方。按钮上有一个文本,文本应在一行中完全可见。按钮不应占用更多空间。只是一个常规的“自动调整大小”,就像我在WPF中使用的那样。通过删除
width:100%产生任何影响?相关:删除100%不会将文本框拉伸到任何地方。按钮上有一个文本,文本应在一行中完全可见。按钮不应占用更多空间。只是一个常规的“自动调整大小”,就像我在WPF中使用的那样。通过删除
width:100%产生任何影响?相关:删除100%不会将文本框拉伸到任何地方。按钮上有一个文本,文本应在一行中完全可见。按钮不应占用更多空间。只是我在WPF中使用的常规“自动调整大小”。哇,谢谢。阅读了MDN简介和关于此的另一页后,我完全感到困惑,我认为这个“自动”是默认值之一。@LonelyPixel:
flex:0 auto
相当于初始值,因此它甚至不需要指定-。说实话,我认为这可能是Webkit/Blink中的一个错误。如果您阅读规范,它会明确指出“flex项不会收缩到其最小内容大小(最长单词或固定大小元素的长度)以下”。(见:)哇,谢谢。阅读了MDN简介和关于此的另一页后,我完全感到困惑,我认为这个“自动”是默认值之一。@LonelyPixel:
flex:0 auto
相当于初始值,因此它甚至不需要指定-。说实话,我认为这可能是Webkit/Blink中的一个错误。如果您阅读规范,它会明确指出“flex项不会收缩到其最小内容大小(最长单词或固定大小元素的长度)以下”。(见:)哇,谢谢。阅读了MDN简介和关于此的另一页后,我完全感到困惑,我认为这个“自动”是默认值之一。@LonelyPixel:
flex:0 auto
相当于初始值,因此它甚至不需要指定-。说实话,我认为这可能是Webkit/Blink中的一个错误。如果您阅读规范,它会明确指出“flex项不会收缩到其最小内容大小(最长单词或固定大小元素的长度)以下”。(见:)哇,谢谢。阅读了MDN简介和关于此的另一页后,我完全感到困惑,我认为这个“自动”是默认值之一。@LonelyPixel:
flex:0 auto
相当于初始值,因此它甚至不需要指定-。说实话,我认为这可能是Webkit/Blink中的一个错误。如果您阅读规范,它会明确指出“flex项不会收缩到其最小内容大小(最长单词或固定大小元素的长度)以下”。(见:)
#navigation-button {
    flex: 0 auto;
}