使用百分比和浮动强制溢出-x

时间:2012-07-19 18:15:22

标签: html css css-float overflow percentage

我在容器内部有一个<li>的小结构,而我想要的是强制显示overflow-x而不是overflow-y,但我无法实现这一点,我认为这是属性float以及我正在使用的百分比。

有没有办法可以达到这个结果?只显示水平溢出?

这是代码:

HTML

 <div id="CockpitCenter">
    <ul class="CockpitContainerResult">
      <li><div class="box">Box 1</div></li>
      <li><div class="box">Box 2</div></li>
      <li><div class="box">Box 3</div></li>
      <li  style="height: 400px;">
          <div class="box" style="height: 370px;">Box 4</div>
      </li>
      <li><div class="box">Box 5</div></li>
      <li><div class="box">Box 6</div></li>
      <li><div class="box">Box 7</div></li>
   </ul>
 </div>​

css

#CockpitCenter {
   height: 500px; /* set only here in jsFiddle */
   position: fixed;
   left: 0;
   border: solid 2px #ccc;
   border-bottom: none;
   overflow: auto;
}

div#CockpitCenter ul.CockpitContainerResult {
   float: left;
   width: 100%;
}

ul.CockpitContainerResult li {
   margin: 5px 0;
   height: 150px;
   width: 50%;
   float: left;
}

ul.CockpitContainerResult li:nth-child(even) {
    float: right;
}

ul.CockpitContainerResult li div.box {
    border: solid 1px #ccc;
    margin: 15px;
    border-radius: 20px;
    height: 150px;
    text-align: center;
}​

这是一个demo

1 个答案:

答案 0 :(得分:0)

听起来你正在尝试制作一个旋转木马,它有许多方便的jquery插件。无论如何,你不能使用百分比宽度,你必须给你的主容器一个固定的宽度,然后给你内部的(你的ul)你想要的更大的宽度。您必须在UL上强制宽度,否则LI元素将仅包裹。一旦完成,只需在主容器中添加'overflow-x:auto'即可。您应该在路上。

快速举例,http://jsfiddle.net/ybJ6C/8/

我现在正在使用我的ipad,并没有看到滚动条,但确实滚动了。您会注意到滚动持续到结尾,如果您知道自己想要什么,可以使用宽度进行调整。如果它是动态的,那么你需要js根据其中的元素为你调整宽度。我也没有高度正确,但它足以得到这个想法。 (再次从我的ipad做这个,编码不是最好的)