tags:

views:

1377

answers:

4

I have this div element:

    <div id="tl"  style="float:right;width: 400px; height:100px; background-color:Green; overflow-x: scroll;overflow-y: hidden;">

        <div id='demo' style="float:left;height:90px;"> dsadsad </div>
        <div id='demo' style="float:left;height:90px;"> dsadsad </div>

    </div>

The div demo will copy by the code more times inside tl div. I want to Horizontal Scrolling the tl div.

How can I achieve it?

A: 

If you are using jQuery, I have been using the following to do what I think you want.

http://www.gcmingati.net/wordpress/wp-content/lab/jquery/newsticker/jq-liscroll/scrollanimate.html

Brian
hi it's not what i meant i only want the user can Horizontal Scrolling div, but thanks
avnic
+1  A: 

For your "demo" divs, change float: left to display: inline-block; then it should work.

Also, see Stack Overflow question "How to get Floating DIVs inside fixed-width DIV to continue horizontally?" for more suggestions...

EDIT: as timhessel says in the comments below, Internet Explorer 6/7 won't accept inline-block for div elements so you need to use span elements for the "demo" divs instead as they are intrinsically inline by default.

Paul
IE 6 and 7 don't accept inline-block for divs or other elements that have an insintric display value of block.
Litso
this is true, so the "demo" divs should be changed to span elements instead.
Paul
hi i changed it to <span style="float:left;height:100px;" >some text</span>it also not working as it should there is Horizontal Scrolling but i can't scroll
avnic
you have to change float:left to be display: inline-block;
Paul
as well as changing the div to be a span. It works for me in Safari.
Paul
+2  A: 

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

nikc
A: 

It works! Even on crap IE6! Damn span! I love you!

Rafael Kuvasney