【问题标题】:How to change width of an input field using bootstrap如何使用引导程序更改输入字段的宽度
【发布时间】:2019-02-27 13:21:12
【问题描述】:

我尝试了几种方法来增加显示的电子邮件字段。如您所见,它被切掉了,如果该字段更长,看起来会更好。

其背后的代码如下所示:

<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>

【问题讨论】:

    标签: asp.net-mvc razor model-view-controller kendo-asp.net-mvc


    【解决方案1】:

    这是我为 Kendo 控件所做的:

    首先创建一个css类来设置宽度为100%:

    .width100 {
        width: 100%;
    }
    

    然后将其添加到控件中:

    @Html.EditorFor(model => model.EmailAddress, 
        new { htmlAttributes = new { @class = "form-control width100", @required = "required" } })
    

    【讨论】:

      【解决方案2】:

      Col-xs-5 仅适用于超小屏幕

      所以你可以做的是链接另一个屏幕类例如:

      col-xs-5 col-sm-5 col-md-5 col-lg-5 这将处理所有屏幕尺寸。

      此外,您可以将 homezip 的 col-xs-5 减少到 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 类的引导网格示例:

      您可以尝试的另一件事是输入大小:将 input-sm 类添加到您的输入元素中,以使它们更小并适合更多文本

      【讨论】:

      • 我不确定我是否在关注。请参阅上面的更新。它似乎不起作用。
      • 您运行测试的屏幕尺寸是多少?正如我提到的 col-xs 是用于超小屏幕,即移动设备。如果您在桌面或桌面屏幕大小方面看到问题,那么 col-xs 是错误的使用类
      • 它只是一个普通的电脑显示器。我将电子邮件的 div 更新为
        。请参阅我原来的问题中的更新。电子邮件字段仍然没有显示更宽。
      • 首先增加你的父 div 类,即。
        到 col-xs-8 col-sm-8 等,所以你的电子邮件标签和输入在他屏幕的后半部分,如果这无助于设置 jsfiddle,我会看看。请记住每行有 12 个单元格,因此您的 col-whatever 两个主要 div 的总和不能大于 12。当您使用 col-whatever 时,这同样适用于所有其他引导行
      【解决方案3】:

      将宽度添加到 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>
      

      【讨论】:

        【解决方案4】:

        我最终将它添加到 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>
        

        【讨论】:

        • 基本上,我的回答:)
        • 不是真的...我没有使用 100% 的宽度。我不确定那会做什么。我在表单类中添加了对css的引用,但是你在@html.EditorFor部分添加了它。
        • 我的意思是对输入本身应用宽度而不是调整引导网格容器。此外,您的技术将需要一个 site.css 条目来处理每个有问题的控件。很高兴你让它工作了。
        猜你喜欢
        相关资源
        最近更新 更多
        热门标签