2013-07-12 20 views
11

Sto provando a mettere un'etichetta di campo di input accanto ad essa anziché sopra usando bootstrap. Il wrapping di questo in form-horizontal funziona, ma non è in realtà in una forma (solo una chiamata Ajax che legge il valore). C'è un modo per spostare semplicemente l'etichetta sul lato sinistro dell'input?etichetta bootstrap accanto all'ingresso

<div class="controls-row"> 
     <div class="control-group"> 
      <label class="control-label" for="my-number">ALabel</label> 

      <div class="controls"> 
       <input id="my-number" type="number"/> 
      </div> 
     </div> 
    </div>  

Il violino è http://jsfiddle.net/7VmR9/

+1

ho risposto qui: http://stackoverflow.com/questions/18404003/label-on-the-left-side -instead-above-an-input-field/33974788 saluti! –

risposta

4

Il div è un elemento block, che significa che ci vorranno tanto larghezza come può e l'elemento input è in essa.

Se si desidera che il label di essere accanto all'elemento input: o mettere il label nel div o fare il div un elemento inline-block.

+0

Il rendering in linea sembra funzionare. Continuerò a non accettare ancora abbastanza per vedere se c'è un modo integrato per farlo con i costrutti di bootstrap. –

+0

Se c'è un modo per farlo in bootstrap, allora probabilmente non è semplice come queste 2 soluzioni. E @wikijames ha suggerito di far fluttuare l'etichetta, in primo luogo si eviterebbero gli elementi fluttuanti e in secondo luogo solo l'etichetta fluttuante probabilmente non funzionerà se non si fa fluttuare anche il div. – zoran404

1

È possibile ricevere assistenza direttamente dal sito Web fornito, ben documentato.

Ecco la Fiddle with Bootstrap css.

<div class="control-group"> 
<label class="control-label" for="inputEmail">Email</label> 
<div class="controls"> 
    <input type="text" id="inputEmail" placeholder="Email"> 
</div> 

+0

Non voglio metterlo in una classe form-orizzontale se posso evitarlo. Non è in realtà in una forma come descritto nella domanda. Mettendolo in forma-orizzontale aggiunge un ampio offset sul lato sinistro. Usando il tuo violino come esempio, mi piacerebbe spostare i campi del modulo e le etichette fino al lato sinistro della finestra. –

+0

Non è necessario rimuovere la classe .form-horizontal. Immergiti nel codice e fai due piccoli cambiamenti. .form-horizontal .control-label (Remove width) e quindi modifica il valore di (Margin-left) in "form-orizzontale .controls". Nella riga numero 1962, 1969 sul file cst di bootstrap puoi trovarlo. –

11

Sì, è possibile farlo struttura della colonna bootstrap.

<div class="form-group"> 
    <label for="name" class="col-lg-4">Name:</label> 
    <div class="col-lg-8"> 
     <input type="text" class="form-control" name="name" id="name"> 
    </div> 
</div> 

Ecco un Bootply Demo

+0

Una cosa da notare su questa tecnica è che col- * è definito come float: a sinistra che farà divaricare il div interno al div del gruppo di moduli. Per tener conto di ciò, è possibile utilizzare l'overflow: nascosto nel gruppo di moduli. Consiglierei di creare un contenitore semantico in questo modo: .col-container { overflow: hidden; } –