解决方法很简单, 就是使用 flex-shrink 属性;
flex-shrink 属性定义了项目的缩小比例,默认为1
即如果空间不足,该项目将缩小,它还有另外一个值,就是0
如果在子元素的 css 样式中添加 flex-shrink 属性, 然后把值改为 0
flex-shrink:0 ,那么当前元素就不会被其他子元素挤压
<style> .box-wrapper { width: 300px; background-color: grey; display: flex; justify-content: space-between; } .input-cls { width: 100%; } .text-cls { /* flex-shrink: 0; */ } </style> <body> <div class="box-wrapper"> <input type="text" class="input-cls"> <div class="text-cls">重新发送验证码</div> </div> </body>
复制
因为input元素设置了width: 100% 所以这个元素尽可能撑大,挤压到后面元素了
解决方法: 给元素设置 flex-shrink:0 即可