2017-01-26 7 views
0

私の次のものはViewブートストラップでは入力タグの幅を拡張できません。さらに、入力タグのラベルとボタンを左に揃えるのではなく、中央に配置します(上のドロップダウンの場合と同じです)。私は、ラベル、入力、およびボタンのためにブートストラップのグリッド列を4 + 7 + 1に配布しました。しかし、たとえ私がこの分布を3 + 8 + 1と変えたとしても、入力タグの幅は同じままです。 質問は:一番左の側面のラベルが表示され、右端の側のボタンが表示され、入力されたタグはそれのラベルとAddボタンの間に空間全体をとるようにどのように私はそれ表示にすることができasp.net入力タグの幅を拡張できないブートストラップ

ビュー:上記のビューの

<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;"を入力タグに追加しても、幅は増えません。下に示すような高さのみを増加させる:ユーザー@MattSpinks Iが左右にラベルにAddボタンを整列させることができたから提案に従った後

enter image description here

UPDATE

。しかし、入力幅は、以下に示すように同じまま:

enter image description here

答えて

0

asp-for="TestDesc"とあなたの入力時には、あなたのcol-sm-7で間違った場所を持っています。そのクラスは親divに割り当てられるべきです。そして、あなたのボタンはその親divと同じDOMレベルにあるはずです。あなたのコントロールのラベルクラスにtext-align: leftを追加し、左にラベルを揃えるためには

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

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

ワーキングサンプル:https://jsfiddle.net/mspinks/9jevfug0/2/

+0

あなたの提案が一部 'Add'ことで働いていましたボタンが右に揃えられました。残りは同じままです。提案された設定を適用した後、画像を追加したばかりの**アップデート**セクションをご覧ください。 – nam

+0

ラベルを左揃えにするには、コントロールラベルに 'text-align:left;'を使用します。私の更新された答えを見てください。幅の問題について少し詳しく説明できますか?正確にどのくらいの幅を探していますか?あなたのコードと出力に基づいて、それは正しいようです。あなたは何を達成しようとしていますか?注意すべき点は、ボタンを右揃えにすると、テキストボックスが空白を埋めるのではないという錯覚を与えるかもしれません。空欄は本当に右端の列にあります。 –

+0

ラベルに関する新しい提案が有効になりました。しかし、入力幅とその位置は変わりません。ユーザーが何かの説明を入力するためのスペースが必要であるため、入力タグにラベルと送信ボタンの間のスペースをすべて取る必要があります。したがって、依然として送信ボタンは入力に近い(そして右側)必要があります。しかし、私は右に揃えていますので、入力タグの幅を拡張できる余地が増えます。私はあなたの新しい提案の後に新しい変更を見ることができるように、私の更新セクションで古いイメージを新しいイメージに置き換えました。 – nam

関連する問題