【发布时间】:2021-09-28 15:46:11
【问题描述】:
我正在使用 Bootstrap 5。我正在尝试使用带有居中表单控件的浮动标签,该控件的宽度为 auto,而不是 Bootstrap 的默认 100%。我不确定如何让浮动标签始终位于输入字段内。我目前有以下表格和相关的 CSS:
<form action="/login" method="post">
<div class="form-floating mb-3">
<input type="text" class="form-control" name="username" id="floatingUsername" placeholder="Username" autocomplete="off" autofocus>
<label for="floatingUsername">Username</label>
</div>
<div class="form-floating mb-3">
<input type="password" class="form-control" name="password" id="floatingPassword" placeholder="Password" autocomplete="off">
<label for="floatingPassword">Password</label>
</div>
<button class="btn btn-light border" type="submit">Log In</button>
</form>
main .form-control
{
/* Center form controls and override 100% width */
display: inline-block;
width: auto;
}
main
{
/* Scroll horizontally*/
overflow-x: auto;
text-align: center;
}
这就是它的样子: labels not inside inputs
我尝试在 .form-floating、标签等中使用一堆对齐和显示属性。我还尝试为标签设置 width:auto ,但这也没有改变任何东西。有点不知所措,因为我只有很少的经验,而且浮动标签似乎是股票 Bootstrap 的一个相对较新的补充,所以谷歌/SO 没有找到太多。也许只是不可能使输入变小(不是宽度:100%)并有工作的浮动标签?
【问题讨论】:
-
尝试将宽度auto应用到form-floating div上,如果不行,请放一个JSFiddle,我们可以看看!
-
@SiddharthBhansali 只是为了通知您,我确实尝试了您的方法:可悲的是,宽度自动在应用于 .form-floating 时没有做任何事情。但是 HDP 在下面发布的解决方案有效(我使用了 flex)。感谢您的意见!
标签: html css forms bootstrap-5 floating-labels