How do I keep CSS floats in one line?
Solution 1:
Another option is, instead of floating, to set the white-space property nowrap to a parent div:
.parent {
white-space: nowrap;
}
and reset the white-space and use an inline-block display so the divs stay on the same line but you can still give it a width.
.child {
display:inline-block;
width:300px;
white-space: normal;
}
Here is a JSFiddle: https://jsfiddle.net/9g8ud31o/
Solution 2:
Wrap your floating <div>
s in a container <div>
that uses this cross-browser min-width hack:
.minwidth { min-width:100px; width: auto !important; width: 100px; }
You may also need to set "overflow" but probably not.
This works because:
- The
!important
declaration, combined withmin-width
cause everything to stay on the same line in IE7+ - IE6 does not implement
min-width
, but it has a bug such thatwidth: 100px
overrides the!important
declaration, causing the container width to be 100px.