2017-01-26 152 views
0

在我的以下View Bootstrap不允许扩展输入标签的宽度;此外,它将输入标签的标签和按钮对齐到中心,而不是将其对齐到左边(就像在其上方的下拉框中)。我已经为Bootstrap的Grid列分配了4 + 7 + 1的标签,输入和按钮。但即使我改变这个分布来说,3 + 8 + 1输入标签的宽度保持不变。 问题:我怎样才能使它显示,以便在最左侧的标签显示,按钮显示在最右侧,输入标签采用整个空间在它的标签和Add按钮之间asp.net Bootstrap不允许扩展输入标签的宽度

查看:以上观点的

<form asp-controller="TestContr" asp-action="TestAction" method="post" class="form-horizontal"> 
    <hr /> 
    <div asp-validation-summary="All" class="text-danger"></div> 
    <div class="form-group"> 
     <div class="col-md-9"> 
      <label asp-for="SelectedYear" class="control-label"></label> 
      <select asp-for="SelectedYear" asp-items="Model.lstYears"></select><button type="submit" name="submit" value="GO" class="btn btn-info btn-xs">GO</button> 
     </div> 
    </div> 
    <div class="form-group"> 
     <label asp-for="TestDesc" class="control-label col-sm-4"></label> 
     <div> 
      <input asp-for="TestDesc" class="form-control col-sm-7"/><button type="submit" name="submit" value="Add" class="btn btn-info btn-xs col-sm-1">Add</button> 
      <span asp-validation-for="TestDesc" class="text-danger"></span> 
     </div> 
    </div> 
</form> 

显示页面:

enter image description here

如果我将内嵌样式style="width:300px;height:100px;"添加到输入标签,它仍然不增加宽度;它不仅增加了高度如下所示:

enter image description here

UPDATE

以下从用户@MattSpinks我能够对准Add按钮向右和标签向左一个建议之后;但输入宽度保持不变,如下图所示:

enter image description here

回答

0

在有asp-for="TestDesc"你的输入,你有你的col-sm-7错了地方。该类应该分配给其父分区。而且你的按钮应该和父div有相同的DOM级别。

<form asp-controller="TestContr" asp-action="TestAction" method="post" class="form-horizontal"> 
    <hr /> 
    <div asp-validation-summary="All" class="text-danger"></div> 
    <div class="form-group"> 
     <div class="col-md-9"> 
      <label asp-for="SelectedYear" class="control-label"></label> 
      <select asp-for="SelectedYear" asp-items="Model.lstYears"></select><button type="submit" name="submit" value="GO" class="btn btn-info btn-xs">GO</button> 
     </div> 
    </div> 
    <div class="form-group"> 
     <label asp-for="TestDesc" class="control-label col-sm-4"></label> 
     <div class="col-sm-7"> 
      <input asp-for="TestDesc" class="form-control"/> 
      <span asp-validation-for="TestDesc" class="text-danger"></span> 
     </div> 
     <button type="submit" name="submit" value="Add" class="btn btn-info btn-xs col-sm-1">Add</button> 
    </div> 
</form> 

为了对齐标签的左侧,添加text-align: left到您的控制标签类:

.form-horizontal .control-label { 
    text-align:left; 
} 

工作样本:https://jsfiddle.net/mspinks/9jevfug0/2/

+0

你的建议部分曾在该'Add'按钮对齐到右侧;但其余的依然如此。请参阅我刚刚在应用建议设置后添加了图像的“** UPDATE **”部分。 – nam

+0

为了左对齐标签,请在控件标签上使用'text-align:left;'。看到我更新的答案。你能详细解释宽度问题吗?究竟你在寻找什么宽度?根据你的代码和输出,这似乎是正确的。你想达到什么目的?有一件事要注意 - 如果你把你的按钮对齐到右边,它可能会让人错觉文本框没有填满空白区域。空的空间确实在你最右边的列中。 –

+0

关于标签的新建议奏效。但输入宽度和位置保持不变。我需要在其标签和提交按钮之间放置所有空间的输入标签,因为用户需要有更多空间来输入描述内容。所以,提交按钮仍然需要关闭(和右侧)到输入。但是我把它调整到正确的位置,这样输入标签就有了更多空间让我可以扩展它的宽度。我已经用我的UPDATE部分中的新图像替换了旧图像,以便您可以在新建议后看到新的更改。 – nam