2017-05-04 11 views
1

私のフォーム上の各入力要素のIDを持たなくて済むように、フォーム入力をlabel(ブートストラップ3)の中に入れたいと思います。ブートストラップ:ラベルの中に入力

私の問題は、これが行間に余分な垂直方向の間隔を生じさせ、入力がその親の全幅を満たしておらず、入力が整列していないということです。

Illustration

<form class="form-horizontal"> 
    <div class="form-group"> 
     <label class="row"> 
      <span class="col-md-4 control-label">Email:</span> 
      <div class="col-md-8"> 
      <input class="form-control" type="email" placeholder="Email"/> 
      </div> 
     </label> 
    </div> 
    <div class="form-group"> 
     <label class="row"> 
      <span class="col-md-4 control-label">Password:</span> 
      <div class="col-md-8"> 
      <input class="form-control" type="password" placeholder="Password"/> 
      </div> 
     </label> 
    </div> 
</form> 
+0

ください – user1428716

答えて

4

ので、あなたは、余分なrowを必要としません。 rowを削除し、設定するCSSにスタイルを追加します。ラベルの場合はです。私はこのHTMLのスタイルをインラインにして、私が意味することを示しています。明らかに、あなたはそれをCSSに入れるべきです。

<form class="form-horizontal"> 
    <label class="form-group" style="display: block"> 
     <span class="control-label col-md-2">Email:</span> 
     <div class="col-md-10"> 
     <input class="form-control" type="email" placeholder="Email"/> 
     </div> 
    </label> 
    <label class="form-group" style="display: block"> 
     <span class="control-label col-md-2">Password:</span> 
     <div class="col-md-10"> 
     <input class="form-control" type="email" placeholder="Email"/> 
     </div> 
    </label> 
</form> 
+0

このスタイルは便利です: 'label.form-group {display:block; } ' –

+0

Divはラベル要素内の有効な要素ではありませんbtw – crush

1

ソリューションはform-groupとしてラベル自体を使用することですform-group acts like a row ...

<form class="form-horizontal"> 
    <div class="form-group"> 
     <label class="col-xs-4 control-label" for="email">Email:</label> 
     <div class="col-xs-8"> 
      <input class="form-control" placeholder="Email" id="email"> 
     </div> 
    </div> 
    <div class="form-group"> 
     <label class="col-xs-4 control-label" for="pwd">Password:</label> 
     <div class="col-xs-8"> 
      <input class="form-control" placeholder="Password" id="pwd"> 
     </div> 
    </div> 
</form> 

http://www.codeply.com/go/3uRFV0wXG4

+0

おかげで、しかし、あなたが与えている例は、私のイメージ通りの入力の左側にラベルを持っていない、またラベルをクリックんが場合はID –

+0

を持つことなく、入力をアクティブにjsfiddle彼らは 'xs'カラムを垂直に積み重ねることを望みません。ラベルに 'for ='属性を追加してクリック時の入力を有効にする、私の答えを編集しました – ZimSystem

+0

ラベルに入力を有効にするには、IDを使用する必要があります。これは、form-horizo​​ntalの目的とするマークアップです:http://getbootstrap.com/css/#forms-horizo​​ntal – ZimSystem

関連する問題