2013-02-19 11 views
17

enter image description herecome dividere un modale Twitter bootstrap in 2 parti

Ho il seguente codice HTML

<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" 
aria-labelledby="myModalLabel" aria-hidden="true"> 
    <div class="modal-body"> 
     <table> 
      <tbody> 
       <tr> 
        <td> 
         <div class="span2 fileupload fileupload-new pull-left" data-provides="fileupload"> 
          <div class="fileupload-preview thumbnail" style="width: 200px; height: 150px;"></div> 
          <div> <span class="btn btn-file"><span class="fileupload-new">Select image</span> 
           <span 
           class="fileupload-exists">Change</span> 
            <input type="file" /> 
            </span> <a href="#" class="btn fileupload-exists" data-dismiss="fileupload">Remove</a> 

          </div> 
         </div> 
        </td> 
        <td> 
         <div class="progress"> 
          <div class="bar" style="width: 60%;"></div> 
         </div> 
         <button class="btn btn-mini" type="button">Upload</button> 
        </td> 
       </tr> 
      </tbody> 
     </table> 
    </div> 
    <div class="modal-footer"> 
     <button class="btn btn-primary" data-dismiss="modal" aria-hidden="true">Close</button> 
    </div> 

</div> 

risposta

9

Edit: Questo è solo una soluzione pura CSS, guardare le risposte qui sotto se vuoi qualcosa di più bootstraptic.


È possibile utilizzare un po 'di CSS per dividere il corpo modale in due parti, il più semplice se si fa un layout di pagina di due colonne.

... 
<div class="modal-body> 
    <div class="first-column"> 
     <!-- Your first column here --> 
    </div> 
    <div class="second-column"> 
     <!-- Your second column here --> 
    </div> 
</div> 
... 

e il CSS

.first-column { 
    width: 40%; 
    float: left; 
} 

.second-column { 
    width: 40%; 
    float: right; 
} 

v'è alcuna necessità di utilizzare il sistema di rete all'interno del modal, e, probabilmente, il risultato sarà peggiore probabilmente se si tenta di adattarsi con campate.

+3

E 'più ideale per utilizzare il sistema di griglia. Soprattutto se usi un 'modal-lg'. Molto probabilmente avrai dimensioni di visualizzazione alternative dovute a dispositivi mobili, tablet ed ecc. Che è lo scopo dei componenti * della griglia *. Applicare una classe '.row' al' modal-body' come suggerire @interskh è attualmente la migliore pratica. Questa risposta è corretta ma è negligente per lo scopo di Bootstraps. –

+0

@BrandonClark Totalmente d'accordo, ma è per questo che le loro risposte hanno più voti possibilmente dei miei: P – Pigueiras

+0

Voglio solo assicurarmi che le persone prestino attenzione a quelle risposte. Li ho quasi saltati durante la ricerca di questo problema. –

13

Volevo solo aggiungere che sono riuscito a farlo utilizzando CSS fornito da Bootstrap. Il seguente codice ha funzionato per me:

<div class="modal-body row-fluid"> 
    <div class="span6"> 
    <!-- Your first column here --> 
    </div> 
    <div class="span6"> 
    <!-- Your second column here --> 
    </div> 
</div> 
+1

Si dovrebbe aggiungere 'row-fluid' a' modal-body': poiché la riga ha larghezza 100%, il contenuto uscirà dal contenitore del corpo. Crea un nuovo div fluido di riga all'interno del corpo modale. –

+0

Una discussione simile può essere trovata in [questo thread SO] (http://stackoverflow.com/questions/11848258/is-it-possible-to-use-rows-and-spans-inside-modals-in-twitter- bootstrap) – superjos

64

Basta aggiungere una risposta qui se si sta utilizzando bootstrap 3.0. In bootstrap 3.0, row-fluid è sostituito dal row e span è sostituito dal col-md (full cambiato registro here)

Quindi la risposta di Eduardo Grajeda diventa

<div class="modal-body row"> 
    <div class="col-md-6"> 
    <!-- Your first column here --> 
    </div> 
    <div class="col-md-6"> 
    <!-- Your second column here --> 
    </div> 
</div> 
+1

Vorrei aver trovato questa risposta un'ora fa! Questo è molto più chiaro: assicurati di aggiungere la classe row DOPO le persone con corpo modale! :) – Todd

+0

Questa è sicuramente la migliore risposta finora. Puoi usare '.row-fluid' come una scelta alternativa di' .row' come @Eduardo Grajeda menziona nella sua risposta. –

+0

Si noti che, nonostante ciò che la documentazione (3.3.5) dice che dovresti ** non ** avere classe "container" o "container-fluid" ovunque nel modale, altrimenti il ​​layout si interromperà. – JJJ

Problemi correlati