After doing some research, and trying out a few things, I believe what you're trying to do, cannot really be achieved without having an extra container, which has a fixed width, as floating elements stack themselves according to the size of the container.
The CSS:
div.horiz-container {
border: 1px solid silver;
height: 100px;
overflow-x: auto;
overflow-y: hidden;
whitespace: nowrap;
width: 400px;
}
div.horiz-container div.content {
float: left;
display: inline;
height: 100px;
width: 500px;
}
div.horiz-container p {
float: left;
display: inline;
height: 100px;
width: 100px;
text-align: center;
position: relative;
}
The HTML:
<div class="horiz-container">
<div class="content">
<p>Lorem</p
<p>ipsum</p>
<p>dolor</p>
<p>sit</p>
<p>amet</p>
</div>
</div>
See live demo:
http://nikc.kapsi.fi/dev/html/misc/horiz-scroll.html
Also take a look at a similar question asked before:
http://stackoverflow.com/questions/1278796/html-divs-columns-horizontal-scroll-bar