2012-08-22 17 views
41

Come si modifica la larghezza di un campo di selezione, quando si utilizza il bootstrap di Twitter? L'aggiunta di input-xxlarge alle classi CSS non sembra funzionare (come avviene su altri elementi del modulo), pertanto gli elementi nel menu a discesa sono attualmente tagliati.Modifica larghezza del tag select in Twitter Bootstrap

+0

puoi pubblicare il tuo html? – gaurang171

risposta

68

Questo mi aiuta a ridurre la larghezza del tag select;

<select id ="Select1" class="input-small"> 

È possibile utilizzare una qualsiasi di queste classi;

class="input-small" 

class="input-medium" 

class="input-large" 

class="input-xlarge" 

class="input-xxlarge" 
+24

Voglio solo notare che questo non funziona nel bootstrap 3. Queste classi ora hanno solo un effetto sull'altezza/riempimento del controllo. – Stefan

+14

Per twitter bootstrap 3, aggiungere: .input-mini { larghezza: 60px; } .input-small { larghezza: 90px; } .input-medium { larghezza: 150px; } .input-large { larghezza: 210px; } .input-xlarge { larghezza: 270px; } .input-xxlarge { larghezza: 530 px; } –

+1

una soluzione responsabile (dinamica) sarebbe bella –

0

Testato da solo, <select class=input-xxlarge> imposta la larghezza del contenuto dell'elemento su 530 px. (La larghezza totale dell'elemento è leggermente inferiore a quella di <input class=input-xxlarge> a causa di diversi pad. Se questo è un problema, imposta i paddings nel tuo foglio di stile come desiderato.)

Quindi se non funziona, l'effetto è impedito da qualche impostazione nel proprio foglio di stile o magari nell'uso di altre impostazioni per l'elemento.

20

ho fatto una soluzione con la creazione di una nuova classe CSS nel mio foglio di stile personalizzato come segue:

.selectwidthauto 
{ 
    width:auto !important; 
} 

E poi applicato questa classe per tutti i miei elementi di selezione sia come manualmente:

<select id="State" class="selectwidthauto"> 
... 
</select> 

O utilizzando jQuery:

$('select').addClass('selectwidthauto'); 
+1

Questa è una buona soluzione. Ma quando 3 menu a discesa vengono aggiunti insieme, questo fa sì che questi 3 menu a discesa si sovrappongano. –

+1

Non lo so se hai ancora bisogno di aiuto tre anni dopo, per chi arriva puoi aggiungere display: blocco in linea in modo che non si impilino –

6

Per me classe css di Pawan combinata con display: inline-block (in modo che le seleziona non impilare) funziona meglio. E mi avvolgo in un mezzo-query, in modo che rimanga mobile friendly:

@media (min-width: $screen-xs) { 

    .selectwidthauto { 
     width:auto !important; 
     display: inline-block; 
    } 

} 
10

si può usare qualcosa di simile

<div class="row"> 
    <div class="col-xs-2"> 
     <select id="info_type" class="form-control"> 
      <option>College</option> 
      <option>Exam</option> 
     </select> 
    </div> 
</div> 

http://getbootstrap.com/css/#column-sizing

Problemi correlati