根据<li> </li> </ul>的数量更改<ul>宽度

时间:2014-03-05 07:17:33

标签: jquery css

我们可以根据<ul>的数量更改<li>宽度吗?

示例:

  1. <li> = 100px of <ul> width
  2. <li> = 200px of <ul> width
  3. <li> = 300px of <ul> width
  4. <li> = 400px of <ul> width
  5. <li> = 500px of <ul> width
  6. <li> = 600px of <ul> width
  7. 依旧......

6 个答案:

答案 0 :(得分:1)

CSS 就是您所需要的

DEMO

将CSS中的dispaly:inline-block提供给您的ULp>

答案 1 :(得分:1)

为什么不使用width: auto;

ul{
 width: auto;
}
li{
 display: inline-block;
}

适合你!


或者,如果您想使用jQuery,可以像其他人一样建议:

var liwidth = $(ul li).length * 100;
$('ul').css('width',liwidth);

答案 2 :(得分:0)

尝试,

var cache = $('ul')
cache.width(cache.children('li').length * 100);

答案 3 :(得分:0)

您可以使用:

$('ul').each(function() {
    $(this).width($(this).find('li').length*100);
});

答案 4 :(得分:0)

你不敢使用JS。

有什么问题
li {
    float: left;
    width: 100px;
}

答案 5 :(得分:0)

试试这个;

<强> HTML

<ul id="pr">
    <li>
        <ul>
            <li>List-1</li>
        </ul>
    </li>
    <li>
        <ul>
            <li>List-2</li>
        </ul>
    </li>
    <li>
        <ul>
            <li>List-3</li>
        </ul>
    </li>
</ul>

<强> JS

var pr = $('#pr').children('li');
$.each(pr,function(k,v){
     $(this).children('ul').width(k*100+100);  
})

<强>的jsfiddle

http://jsfiddle.net/2N9Es/2/