为何设置`display: 'flex', alignItems: 'center'`之后,子标签不能正常的浮动了?
我有如下代码:
<div style={{
textAlign: 'left',
height: '40px',
}}>
<label style={{float: 'left'}}>{props.title}</label>
<input style={{float: 'right'}} placeholder='搜索:'></input>
</div>
我想要div里面的子标签垂直居中:
然后我设置:display: 'flex', alignItems: 'center'
<div style={{
textAlign: 'left',
height: '40px',
display: 'flex',
alignItems: 'center'
}}>
<label style={{float: 'left'}}>{props.title}</label>
<input style={{float: 'right'}} placeholder='搜索:'></input>
</div>
可以做到垂直居中了,但是可是input组件不右浮动了。
回复
1个回答

test
2024-08-11
因为 float 跟 flex 本身就不是一个时代的东西,自然不能共存。首先,建议你好好了解一下 flex 布局。
此时你有几个选择:
- 使用 flex,调整主轴(默认为横向)布局,比如
justify-content: space-between
或者右边的元素margin-left: auto
- 使用
position: absolute
固定位置 - 回到过去
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容