输入标签上的Flexbox垂直对齐问题

 囬憶啲伈情_542_256_427 发布于 2023-02-07 14:06

基本上,我有一个label与文本input内嵌在Flexbox的彼此,与input弯曲,align-items设置为基线.该input挠曲填写含有div正常,但label用的底部对齐input,而不是在文本基线应该的.

此问题出现在Chrome和其他WebKit浏览器中.

这是代码.您可以查看它在此Codepen中的呈现方式.

HTML:

CSS:

div{
  width:20rem;
  background:#999;
  padding:.5rem;

  display:flex;
  align-items:baseline;
}

input{
  flex:1;
}

如果你注释掉display: flex,对齐是正确的,但自然它不再弯曲.

如何在不使用hack的情况下解决这个问题align-items: center

注意:我最初在一个不同的问题上发布了这个问题并回答了它并被删除了.我按照建议修改了它,希望它现在符合指南.

1 个回答
  • 基本上,如果没有valueplaceholder属性input,布局引擎会将基线解释input为底部,而input不是文本基线的位置.

    所以修改后的HTML看起来像:

    <div>
      <label>Email:</label>
      <input type='text' value='example@gmail.com' />
    </div>
    

    要么

    <div>
      <label>Email:</label>
      <input type='text' placeholder='example@gmail.com' />
    </div>
    

    这是布局引擎的一个错误,并且已经通知了开发人员.你可以在这里阅读更多关于这个bug的信息

    2023-02-07 14:07 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有