css - Bootstrap-在表单中选择宽度

标签 css twitter-bootstrap razor asp.net-mvc-5 bootstrap-select

我正在使用 Bootstrap v4 和 bootstrap-select js/css(在 ASP.NET MVC 元素中)并且我的表单有问题。 bootstrap-select 中带有 多个 选项的 select 比我的其他 inputs 更宽,即使它在带有 class="form-control"div。 输出看起来像这样: enter image description here

如您所见,Field Of Expertise dropdown 比其余的inputs 大得多。我尝试编辑 bootstrap-select.css 并更改 width:auto,但没有成功。我可以做些什么来匹配其他 inputswidth 吗?

我的代码看起来像这样

<div class="form-group">
    @Html.LabelFor(v => v.BirthDate)
    @Html.TextBoxFor(v => v.BirthDate, "{0:yyyy-MM-dd}", new { @class = "form-control", type = "date" })
    @Html.ValidationMessageFor(v => v.BirthDate)
</div>
<div class="form-group">
    @Html.LabelFor(v => v.ResidenceCountry)
    @Html.TextBoxFor(v => v.ResidenceCountry, new { @class = "form-control" })
    @Html.ValidationMessageFor(v => v.ResidenceCountry)
</div>
<div class="form-group">
    @Html.LabelFor(m => m.CurrencyId)
    @Html.DropDownListFor(m => m.CurrencyId, new SelectList(Model.Currencies, "Id", "Name"), "", new { @class = "form-control" })
    @Html.ValidationMessageFor(m => m.CurrencyId)
</div>
<div class="form-group">
    @Html.LabelFor(m => m.FieldOfExpertiseIds)
    @Html.ListBoxFor(m => m.FieldOfExpertiseIds, new MultiSelectList(Model.FieldOfExpertises, "Id", "Name"), new { @class = "selectpicker form-control", @data_selected_text_format = "count > 2", @data_size = "6" })
    @Html.ValidationMessageFor(m => m.FieldOfExpertiseIds)
</div>

更新:

我现在将表单组更改为类似这样的内容(添加了 @data_width = "auto"):

<div class="form-group">
    @Html.LabelFor(m => m.FieldOfExpertiseIds)
    <br />
    @Html.ListBoxFor(m => m.FieldOfExpertiseIds, new MultiSelectList(Model.FieldOfExpertises, "Id", "Name"), new { @class = "selectpicker form-control", @data_selected_text_format = "count > 2", @data_size = "6" , @data_width="auto" })
    @Html.ValidationMessageFor(m => m.FieldOfExpertiseIds)
</div>

现在看起来好多了,但问题依然存在: enter image description here

最佳答案

您最好尝试使用 data-width 属性来设置选择的宽度。

data-width 设置为 auto自动将选择的宽度调整为其最宽选项fit 自动将选择的宽度调整为其当前所选选项的宽度。也可以指定一个确切的值,例如300px50%.

所以我会建议你使用这样的东西

<select class="selectpicker" data-width="100%">
  ...
</select>

所以在你的情况下更好地使用 - data_width = "100%" 如果它更宽,然后根据你的需要改变宽度例如,75%50%.

Source link

希望对您有所帮助。

关于css - Bootstrap-在表单中选择宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46314504/

相关文章:

html - 在 WTFORM 属性中设置 MIN LENGTH

css - 列在 Bootstrap 3 和 4 中均无效

javascript - 使用 jquery 填充模态表单

javascript - 仅在悬停时显示图标

css - 使用 MVC 5 Bundles 的异步 CSS 加载

c# - 为什么我需要在 Razor 中使用相同的两次?

javascript - 共享点 2013 : Promoted Links Wrap Tiles

html - div问题的响应高度

html - 如何覆盖 sass 中的 Bootstrap 变量?

asp.net-mvc - 单元测试 Razor View