0

例如,我有一些<ul>元素<li>向左浮动。如果我以这种方式调整大小,则<li>元素将连续放置 3 个。接下来,我调整窗口大小(例如通过鼠标),我<ul>得到了新的宽度,<li>元素现在连续放置 4 个。那么,如何<li>在元素堆栈的每一行中选择最后一个,为它们设置一些 CSS 规则(例如,margin-right)。

所以我需要知道,是否有任何 CSS 选择器或方法来选择此处解释的行为:http: //jsfiddle.net/w7PDM/12/

4

1 回答 1

0

你必须计算最后一个,这很简单。

$('button').click(function(){
    $('ul').css('width','200px');
    $('.current-last-of-row').removeClass('current-last-of-row');
    var itemsPerRow = Math.floor(parseInt($('ul').css('width')) / 40);
    //$('li:nth-child(4n+4)').addClass('current-last-of-row');
    for(var i=1; i < $('ul li').length; i++)
    {
        if( i % itemsPerRow == 0 )
        {
            $('li').eq(i-1).addClass('current-last-of-row');
        }
    }
    $('h1').text('Now, every 4 element is a "last-of-a-row"');
});​

查看演示:http: //jsfiddle.net/jun1st/hK9aZ/1/

于 2012-06-07T06:21:00.190 回答