Html 是否可以将CSS中的特定样式设置为';中断';浮动DIV?

Html 是否可以将CSS中的特定样式设置为';中断';浮动DIV?,html,css,css-float,break,Html,Css,Css Float,Break,让我解释一下,我在一个父div中有几个浮点数,由于父div的宽度限制,一些浮点数可能会转到新行,可以在CSS中执行吗 例如:设置所有div(如div3和div5)的样式,以及下一个div(可能会中断)的样式? (请注意,仅在我的示例中,宽度和高度不是固定的) 谢谢。是的 如果父容器中没有空间,浮动将始终转到下一行。您不能仅使用CSS。您需要使用一些JavaScript根据div的宽度计算容器的宽度。将被包装到下一行的div可以由超过包装宽度的累计div宽度来确定,等等。然后,JavaScrip

让我解释一下,我在一个父div中有几个浮点数,由于父div的宽度限制,一些浮点数可能会转到新行,可以在CSS中执行吗

例如:设置所有div(如div3和div5)的样式,以及下一个div(可能会中断)的样式? (请注意,仅在我的示例中,宽度和高度不是固定的)

谢谢。是的


如果父容器中没有空间,浮动将始终转到下一行。

您不能仅使用CSS。您需要使用一些JavaScript根据div的宽度计算容器的宽度。将被包装到下一行的div可以由超过包装宽度的累计div宽度来确定,等等。然后,JavaScript可以轻松地重置宽度累积并应用该类,并继续子节点的迭代,直到找到所有“包装”div并设置其样式

以下是jQuery的一个示例:

var maxWidth = $('#parent').width(),
    accWidth = 0;

$('#parent').children().each(function(){
    accWidth += $(this).width();
    if (accWidth > maxWidth) {
        $(this).addClass('newline');
        accWidth = $(this).width();
    }
});​
演示1:

演示2:

下面是一个香草JS的例子:

var maxWidth = document.getElementById('parent').offsetWidth,
    accWidth = 0,
    nodes    = document.getElementById('parent').childNodes,
    i;

for (i in nodes) {
    if (nodes[i].hasOwnProperty('offsetWidth')) {
        accWidth += nodes[i].offsetWidth;
        if (accWidth > maxWidth) {
            nodes[i].className += ' newline';
            accWidth = nodes[i].offsetWidth;
        }   
    }
}

演示3:

您是否在询问是否可以对换行的div应用特定样式?您的问题不清楚。这就是你想做的吗?