如何使用 bootstrap 更改输入字段的宽度
How to change width of an input field using bootstrap
我尝试了几种方法来增加显示的电子邮件字段。可以看到,它被砍掉了,如果字段再长一点会更好看。
其背后的代码如下所示:
<div class="row">
<div class="col-xs-5">
<label class="control-label col-md-4 required" for="HomeZipCode">Home Zip Code:</label>
<div class="col-md-4">
@Html.EditorFor(model => model.HomeZipCode, new { htmlAttributes = new { @class = "form-control", @required = "required" } })
@Html.ValidationMessageFor(model => model.HomeZipCode, "", new { @class = "text-danger" })
</div>
</div>
<div class="col-xs-5">
<label class="control-label col-md-4 required" for="EmailAddress">Email Address </label>
<div class="col-md-4">
@Html.EditorFor(model => model.EmailAddress, new { htmlAttributes = new { @class = "form-control", @required = "required" } })
@Html.ValidationMessageFor(model => model.EmailAddress, "", new { @class = "text-danger" })
</div>
</div>
</div>
我尝试将 div 的 col-md-4
更改为 col-md-5
或 div 的 6,我尝试将 col-xs-5
更改为更大的数字也是如此。
我认为我不需要将 col-md-4
更改为更大的标签数字。
为什么没有显示任何更改来扩大电子邮件字段?页面上有足够的空间。
我查看了 bootstrap examples,看起来我尝试的应该有效。
如何让电子邮件地址字段变宽?
更新
根据@JustLearning 的建议回答,我试过这个:
<div class="row">
<div class="col-xs-4 col-sm-4 col-md-4">
<label class="control-label col-md-4 required" for="HomeZipCode">Home Zip Code:</label>
<div class="col-md-4">
@Html.EditorFor(model => model.HomeZipCode, new { htmlAttributes = new { @class = "form-control", @required = "required" } })
@Html.ValidationMessageFor(model => model.HomeZipCode, "", new { @class = "text-danger" })
</div>
</div>
<div class="col-xs-5 col-sm-5 col-lg-5">
<label class="control-label col-md-4 required" for="EmailAddress">Email Address </label>
<div class="col-xs-8 col-md-8 col-lg-8">
@Html.EditorFor(model => model.EmailAddress, new { htmlAttributes = new { @class = "form-control", @required = "required" } })
@Html.ValidationMessageFor(model => model.EmailAddress, "", new { @class = "text-danger" })
</div>
</div>
</div>
Col-xs-5
仅适用于超小屏幕
所以你可以做的是链接另一个屏幕class例如:
col-xs-5 col-sm-5 col-md-5 col-lg-5
这将处理所有屏幕尺寸。
此外,您可以将col-xs-5
的homezip缩减为
col-xs-4 col-sm-4 col-md-4 col-lg-4
并增加您的电子邮件 div 至
col-xs-8 col-md-8 col-lg-8
使用上述方法找出网格的外观。在子网格中也应用上述方法,即:
<label class="control-label col-md-4 required" for="EmailAddress">Email Address </label>
<div class="col-md-4">
@Html.EditorFor(model => model.EmailAddress, new { htmlAttributes = new { @class = "form-control", @required = "required" } })
@Html.ValidationMessageFor(model => model.EmailAddress, "", new { @class = "text-danger" })
</div>
使用 col-md
classes 的 bootstrap 网格示例:
您可以尝试的另一件事是调整输入大小:向您的输入元素添加 class input-sm
以使其更小并适合更多文本
这是我为 Kendo 控件所做的:
首先创建一个 css class 以将宽度设置为 100%:
.width100 {
width: 100%;
}
然后添加到控件中:
@Html.EditorFor(model => model.EmailAddress,
new { htmlAttributes = new { @class = "form-control width100", @required = "required" } })
将宽度添加到 100% 将解决该问题,如下所示...
<div class="row">
<div class="col-xs-4 col-sm-4 col-md-4">
<label class="control-label col-md-4 required" for="HomeZipCode">Home Zip Code:</label>
<div class="col-md-4">
@Html.EditorFor(model => model.HomeZipCode, new { htmlAttributes = new { @class = "form-control", @required = "required", @style="width:100%" } })
@Html.ValidationMessageFor(model => model.HomeZipCode, "", new { @class = "text-danger" })
</div>
</div>
<div class="col-xs-5 col-sm-5 col-lg-5">
<label class="control-label col-md-4 required" for="EmailAddress">Email Address </label>
<div class="col-xs-8 col-md-8 col-lg-8">
@Html.EditorFor(model => model.EmailAddress, new { htmlAttributes = new { @class = "form-control", @required = "required", @style="width:100%" } })
@Html.ValidationMessageFor(model => model.EmailAddress, "", new { @class = "text-danger" })
</div>
</div>
</div>
我最后将这个添加到 site.css:
#step1Edit #EmailAddress{
width:23em;
}
然后在我的 RegistrationStep1.cshtml 中,我在外部添加了这个 div:
<div class="form-horizontal" id="step1Edit">
这与电子邮件标识符一起使用,没有任何变化:
<div class="col-xs-6 col-sm-6 col-lg-6">
<label class="control-label col-md-4 required" for="EmailAddress">Email Address </label>
<div class="col-xs-6 col-sm-6 col-md-auto col-lg-6">
@Html.EditorFor(model => model.EmailAddress, new { htmlAttributes = new { @class = "form-control", @required = "required" } })
@Html.ValidationMessageFor(model => model.EmailAddress, "", new { @class = "text-danger" })
</div>
</div>
我尝试了几种方法来增加显示的电子邮件字段。可以看到,它被砍掉了,如果字段再长一点会更好看。
其背后的代码如下所示:
<div class="row">
<div class="col-xs-5">
<label class="control-label col-md-4 required" for="HomeZipCode">Home Zip Code:</label>
<div class="col-md-4">
@Html.EditorFor(model => model.HomeZipCode, new { htmlAttributes = new { @class = "form-control", @required = "required" } })
@Html.ValidationMessageFor(model => model.HomeZipCode, "", new { @class = "text-danger" })
</div>
</div>
<div class="col-xs-5">
<label class="control-label col-md-4 required" for="EmailAddress">Email Address </label>
<div class="col-md-4">
@Html.EditorFor(model => model.EmailAddress, new { htmlAttributes = new { @class = "form-control", @required = "required" } })
@Html.ValidationMessageFor(model => model.EmailAddress, "", new { @class = "text-danger" })
</div>
</div>
</div>
我尝试将 div 的 col-md-4
更改为 col-md-5
或 div 的 6,我尝试将 col-xs-5
更改为更大的数字也是如此。
我认为我不需要将 col-md-4
更改为更大的标签数字。
为什么没有显示任何更改来扩大电子邮件字段?页面上有足够的空间。
我查看了 bootstrap examples,看起来我尝试的应该有效。
如何让电子邮件地址字段变宽?
更新 根据@JustLearning 的建议回答,我试过这个:
<div class="row">
<div class="col-xs-4 col-sm-4 col-md-4">
<label class="control-label col-md-4 required" for="HomeZipCode">Home Zip Code:</label>
<div class="col-md-4">
@Html.EditorFor(model => model.HomeZipCode, new { htmlAttributes = new { @class = "form-control", @required = "required" } })
@Html.ValidationMessageFor(model => model.HomeZipCode, "", new { @class = "text-danger" })
</div>
</div>
<div class="col-xs-5 col-sm-5 col-lg-5">
<label class="control-label col-md-4 required" for="EmailAddress">Email Address </label>
<div class="col-xs-8 col-md-8 col-lg-8">
@Html.EditorFor(model => model.EmailAddress, new { htmlAttributes = new { @class = "form-control", @required = "required" } })
@Html.ValidationMessageFor(model => model.EmailAddress, "", new { @class = "text-danger" })
</div>
</div>
</div>
Col-xs-5
仅适用于超小屏幕
所以你可以做的是链接另一个屏幕class例如:
col-xs-5 col-sm-5 col-md-5 col-lg-5
这将处理所有屏幕尺寸。
此外,您可以将col-xs-5
的homezip缩减为
col-xs-4 col-sm-4 col-md-4 col-lg-4
并增加您的电子邮件 div 至
col-xs-8 col-md-8 col-lg-8
使用上述方法找出网格的外观。在子网格中也应用上述方法,即:
<label class="control-label col-md-4 required" for="EmailAddress">Email Address </label>
<div class="col-md-4">
@Html.EditorFor(model => model.EmailAddress, new { htmlAttributes = new { @class = "form-control", @required = "required" } })
@Html.ValidationMessageFor(model => model.EmailAddress, "", new { @class = "text-danger" })
</div>
使用 col-md
classes 的 bootstrap 网格示例:
您可以尝试的另一件事是调整输入大小:向您的输入元素添加 class input-sm
以使其更小并适合更多文本
这是我为 Kendo 控件所做的:
首先创建一个 css class 以将宽度设置为 100%:
.width100 {
width: 100%;
}
然后添加到控件中:
@Html.EditorFor(model => model.EmailAddress,
new { htmlAttributes = new { @class = "form-control width100", @required = "required" } })
将宽度添加到 100% 将解决该问题,如下所示...
<div class="row">
<div class="col-xs-4 col-sm-4 col-md-4">
<label class="control-label col-md-4 required" for="HomeZipCode">Home Zip Code:</label>
<div class="col-md-4">
@Html.EditorFor(model => model.HomeZipCode, new { htmlAttributes = new { @class = "form-control", @required = "required", @style="width:100%" } })
@Html.ValidationMessageFor(model => model.HomeZipCode, "", new { @class = "text-danger" })
</div>
</div>
<div class="col-xs-5 col-sm-5 col-lg-5">
<label class="control-label col-md-4 required" for="EmailAddress">Email Address </label>
<div class="col-xs-8 col-md-8 col-lg-8">
@Html.EditorFor(model => model.EmailAddress, new { htmlAttributes = new { @class = "form-control", @required = "required", @style="width:100%" } })
@Html.ValidationMessageFor(model => model.EmailAddress, "", new { @class = "text-danger" })
</div>
</div>
</div>
我最后将这个添加到 site.css:
#step1Edit #EmailAddress{
width:23em;
}
然后在我的 RegistrationStep1.cshtml 中,我在外部添加了这个 div:
<div class="form-horizontal" id="step1Edit">
这与电子邮件标识符一起使用,没有任何变化:
<div class="col-xs-6 col-sm-6 col-lg-6">
<label class="control-label col-md-4 required" for="EmailAddress">Email Address </label>
<div class="col-xs-6 col-sm-6 col-md-auto col-lg-6">
@Html.EditorFor(model => model.EmailAddress, new { htmlAttributes = new { @class = "form-control", @required = "required" } })
@Html.ValidationMessageFor(model => model.EmailAddress, "", new { @class = "text-danger" })
</div>
</div>