FWQ
弹性布局中子元素缩小为何失效?
中子元素收缩条件 弹性布局中,flex-shrink 属性决定了子元素在空间不足时的收缩程度。但是,当 flex-wrap 为 nowrap(不允许换行)时,子元素的实际收缩行为可能与直觉不同。 在题目的案例中,由于子元素的总宽度超过了容器宽度,并且 flex-shrink 为 1(允许收缩),我们可能会认为子元素会自动收缩以适应容器。然而,实际观察到的情况却是子元素溢出了容器。 这是因为 flex-shrink 的值不是一个绝对的缩减数量,而是一个系数。在此案例中,这意味着每个子元素都会收缩 1 倍其原始宽度。然而,收缩后子元素的宽度仍然大于可用空间,这会导致溢出。 解决方法 为了解决此问题,有两种方法: 限制子元素的溢出: 给子元素添加 : hidden,强制将溢出的内容隐藏。 给子元素添加 min-width: 0,允许子元素缩小至可容纳内容的最小宽度。 限制图片的宽度: 给 img 元素添加…