Q35
★ ★ ★ ★ ★
flex: 1 / flex: 1 1 auto / flex: 0 0 auto 分别什么意思?
⚡ 速记答案(30 秒)
flex: grow shrink basis。flex:1 等价 flex:1 1 0:能增长能收缩,初始宽度 0。flex:0 0 auto:不增不缩,宽度由内容或 width 决定。常用:中间自适应用 flex:1。
📖 详细讲解
标准面试回答(推荐记住)
flex 是 flex-grow、flex-shrink、flex-basis 三个属性的简写。flex-grow 控制放大比例,flex-shrink 控制缩小比例,flex-basis 控制初始尺寸。flex: 1 等价于 flex: 1 1 0,表示可以放大、可以缩小、初始宽度为 0,会按比例分配剩余空间。flex: 0 0 auto 表示不放大、不缩小、初始宽度由内容或设置的 width 决定,常用于固定宽度的侧边栏。flex: 1 1 auto 类似 flex: 1,但初始宽度是 auto。
✅ 面试要点
- •flex 是三个属性的简写
- •flex:1 用于自适应区域
- •flex:0 0 auto 用于固定区域