2012-04-07 72 views
0

当你使用float:left或float:right时,你怎么知道一条线溢出到下一行?例如,我想让一组项目从底部的屏幕左侧流向右侧,但是当该行溢出到下一行时,只需隐藏它即可。有什么方法可以知道float项溢出到下一行的哪一点?如何检测css浮动项是否溢出到下一行?

+0

检查元素漂浮在容器的高度?如果它在添加新元素后发生变化,那么您可能会发生溢出。这或获得浮动元素的计算位置。当下一个元素具有较低的“左”时,它将被包围。 – 2012-04-07 01:07:24

回答

0

有没有真正的方法来检测这个,但你可以给页脚容器一个固定的高度,并将其溢出属性设置为隐藏。

+0

对不起,但我想要做的不是隐藏溢出,而是检测它何时溢出并采取相应措施 - 隐藏整条线。 – Vlad 2012-04-07 01:17:49

+0

同样的结果(美学反正)。 – Joe 2012-04-07 01:20:43

+0

哦,对不起,我认为我的表情是误导性的。我的意思是隐藏第一行。 – Vlad 2012-04-07 01:23:01

0

一种方式来看待的方法是将

  • 收集项目按浮动订单
  • 计算总宽度
  • 比较反对父母,看看其更大。
+0

哇,所以我想没有一个传统的方法来做到这一点。我实际上是要这样做,但后来决定问,因为我认为可能有一个更清洁的方式..噢以及:( – Vlad 2012-04-07 01:19:26

+0

或只是尝试将边界放到div,看看浮动时div的样子.. :) – ruslyrossi 2012-04-07 04:48:43

1

我打算使用jQuery做这样的事情:

$("#container").resize(function(){ 
    var totalwidth = 0; 
    $(".floatable").each(function(index){ 
     totalwidth += $(this).outerWidth(); 
    }); 
    if(totalwidth > $("#container").width()){ 
     // YOUR MANIP CODE HERE 
    } 
}); 

$ .resize()在火灾中某些浏览器重绘,所以你可能想要把一个250ms的每一步在那里延迟。