horizontal scrollbar for ul

前端 未结 5 572
忘了有多久
忘了有多久 2020-12-30 01:52

For some reason, I can\'t prevent the UL and it\'s LI\'s from wrapping. I want the UL\'s width to be exactly the width of the LI\'s on one line (without wrapping) and if the

相关标签:
5条回答
  • 2020-12-30 02:09

    try this

    ul {
       white-space:nowrap;
    }
    
    li {
       display:inline;
    }
    
    0 讨论(0)
  • 2020-12-30 02:09

    By setting the width on the <ul> to inherit you can use the overflow property to set the overflow behavior of the element. With the value scroll, all of the element's contents will scroll (in both x and y directions) if the height and the width of the contents overflow that of the box:

    div#nav ul
    {
        overflow: scroll;
        width: inherit;
        height: inherit;
    }
    
    0 讨论(0)
  • 2020-12-30 02:12

    Add the following rule:

    div#nav ul {
       overflow-x: hidden;
       overflow-y: scroll;
       white-space: nowrap;
    }
    
    0 讨论(0)
  • 2020-12-30 02:18

    Caveat: Untested

    Would you not just want to set a width for the li item

    div#nav ul li {    
       margin-right: 15px;     
       float: left;     
       font-size: 12px;     
       list-style-type: none;
       width: 100px;
    }
    

    And then set the width to a fixed width and overflow on the UL to scroll?

    div#nav ul {
        width: 800px;
        overflow: scroll;
    }   
    

    This would cause you UL to scroll when your li's went past say 8, is that what you're after?

    0 讨论(0)
  • 2020-12-30 02:21

    You can use display: inline-block; white-space: nowrap; for the wrapper and display: inline or display: inline-block for the children.

    So, it would look like this: http://jsfiddle.net/kizu/98cFj/

    And, if you'll need to support IE add this hack in conditional comments to enable inline-blocks in it:

    .navbuttons,
    .navbuttons LI {
        display: inline;
        zoom: 1;
    }
    
    0 讨论(0)
提交回复
热议问题