Q28
★ ★ ★ ★ ★
如何实现高度自适应?
⚡ 速记答案(30 秒)
利用 flex:1、height:100%、min-height:100vh 等让元素随容器增长。文本框自适应高度:textarea 配合 JS 监听 input 动态设置 style.height='auto'; height=this.scrollHeight+'px';。
📖 详细讲解
标准面试回答(推荐记住)
高度自适应有几种实现方式。容器自适应可以用 flex: 1 让元素占满父容器剩余高度,或者 height: 100%、min-height: 100vh。文本框自适应高度需要 JS 配合:监听 input 事件,先设置 height: auto 重置高度,然后设置 height 等于 scrollHeight,这样文本框会随着内容增加而变高。还可以用 CSS 的 field-sizing: content 属性,但兼容性有限。
✅ 面试要点
- •flex:1 占满剩余空间
- •textarea 需要 JS 配合
- •注意百分比高度的继承问题