How to divide a Twitter bootstrap modal into 2 parts
43,389
Solution 1
Edit: This is just a pure CSS solution, look to the answers below if you want something more bootstraptic.
You can use a bit of css to divide the modal body in two parts, as simple as if you do a page layout of two columns.
...
<div class="modal-body>
<div class="first-column">
<!-- Your first column here -->
</div>
<div class="second-column">
<!-- Your second column here -->
</div>
</div>
...
and the CSS
.first-column {
width: 40%;
float: left;
}
.second-column {
width: 40%;
float: right;
}
There is no need of using the grid system inside the modal, and probably the result will be worse probably if you try to fit it with spans.
Solution 2
Just add an answer here if you are using bootstrap 3.0. In bootstrap 3.0, row-fluid
is replaced by row
and span
is replaced by col-md
(full changed log here)
So Eduardo Grajeda's answer becomes
<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>
Solution 3
Just wanted to add that I managed to do this using Bootstrap-provided CSS. The following code worked for me:
<div class="modal-body row-fluid">
<div class="span6">
<!-- Your first column here -->
</div>
<div class="span6">
<!-- Your second column here -->
</div>
</div>
Related videos on Youtube
Author by
Saurabh Kumar
Updated on July 09, 2022Comments
-
Saurabh Kumar almost 2 years
I have the following 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>
-
Arthur Clemens almost 11 yearsYou should add
row-fluid
tomodal-body
: because the row has width 100%, the content will flow out of the body container. Create a new row-fluid div inside modal-body. -
superjos over 10 yearsA similar discussion can be found at this SO thread
-
Todd almost 10 yearsI wish I found this answer an hour ago! This is much clearer - make sure to add the row class AFTER modal-body people! :)
-
Brandon Clark over 9 yearsThis is definitely the best answer so far. You can use
.row-fluid
as an alternate choice of.row
like @Eduardo Grajeda mention in his answer. -
Brandon Clark over 9 yearsIt is more ideal to use the grid system. Especially if you use a
modal-lg
. More than likely you will have alternate view sizes due to mobile, tablet, and etc which is the purpose of the grid components. Applying a.row
class to themodal-body
like @interskh suggest is currently the best practice. This answer is correct but is neglectful of Bootstraps purpose. -
Pigueiras over 9 years@BrandonClark Totally agree, but that's why their answers have more possitive votes than mine :P
-
Brandon Clark over 9 yearsJust want to make sure people pay attention to those answers. I almost skipped them when researching this problem.
-
JJJ about 9 yearsNote that despite what the documentation (3.3.5) says you should not have class "container" or "container-fluid" anywhere in the modal, otherwise the layout will break.
-
Joseph Rogers almost 9 yearsI was banging my head against this for what seemed like ages until I saw this answer, so simple. I just needed to add the row class to my modal-body and everything is happy. Thanks!