2011-11-08 68 views
3

我的代码如下:允许溢出X

#under { 
    width: 100%; 
    height: 50px; 
    background-color: #D4D4D4; 
    border: none; 
    -webkit-box-shadow: inset 0px 0px 4px 0px #000000; 
    -moz-box-shadow: inset 0px 0px 4px 0px #000000; 
    box-shadow: inset 0px 0px 4px 0px #000000; 
    overflow-x: scroll; 
    white-space: nowrap; 
} 
#under ul { 
    list-style: none; 
    margin: 0px; 
    padding: 0px; 
} 
#under ul li { 
    min-width: 100px; 
    height: 40px; 
    margin-top: 10px; 
    margin-left: 10px; 
    float: left; 
    background-color: #999; 
    display: block; 
} 

基本上,我有与它里面li元素的#under DIV。我希望他们'溢出'的容器,以便它可以在X轴上滚动,但我不能为我的生活找出如何做到这一点!

它将使li元素显示在彼此之下。

任何帮助表示赞赏,谢谢!

编辑:活生生的例子https://babblebox.me/mobile/

+2

*“我希望他们'溢出'的容器,以便它可以在X轴上滚动,但我不能为我的生活弄清楚为什么。”* - 你不能f明白为什么你想这样做? ;) – Polynomial

+0

无论如何,我想你错过了你的一句话。究竟是什么问题? – Polynomial

+0

您正在使用哪种浏览器?此属性在IE8及更早版本中不起作用。 –

回答

2

他们仍然在下,因为它是浮动的,因为宽度:100%它调整大小的屏幕可用大小不div。

基本上我想你应该添加到UL一些宽度

我的意思是:

#under ul { 
    list-style: none; 
    margin: 0px; 
    padding: 0px; 
    width: 8000px; 
} 
+0

完美工作,谢谢! – Oyed

-1

尝试#underoverflow: auto;

+0

不,没什么,他们仍然在彼此之下:https://babblebox.me/mobile/ – Oyed

+0

ahhh然后忽略我的答案。我会在下次回答之前测试一些东西 –

1

您可以随时滚动元素的直接子。您可以像Kokers所说的那样制作一个非常宽的<ul>,或者如我所愿,可以在<ul>上应用滚动样式。

#under {                                                   
    width: 100%; 
    height: 50px; 
    background-color: #D4D4D4; 
    border: none; 
    -webkit-box-shadow: inset 0px 0px 4px 0px #000000; 
    -moz-box-shadow: inset 0px 0px 4px 0px #000000; 
    box-shadow: inset 0px 0px 4px 0px #000000; 

} 
#under ul { 
    list-style: none; 
    margin: 0px; 
    padding: 0px; 
    overflow-x: scroll; 
    white-space: nowrap; 
} 
#under ul li { 
    min-width: 100px; 
    height: 40px; 
    margin-top: 10px; 
    margin-left: 10px; 
    background-color: #999; 
    display: inline-block; 
} 

*注:我在float: left; display: block变更为display: inline-block#under ul li

在这里你可以看到它在行动:http://jsfiddle.net/rvt5N/

0

你必须做出#under的宽度小于它, 比你的溢出效果,并给像素的宽度...