Jquery 如何设置每个列表项的相同高度?

Jquery 如何设置每个列表项的相同高度?,jquery,html,css,height,Jquery,Html,Css,Height,我创建了一个包含以下内容的简单列表: HTML部分: <ul> <li>1) Lorem ipsum dolor sit amet, consectetur adipisicing elit. Cupiditate eius sit provident delectus veniam impedit dicta doloremque. Harum culpa a consequatur fugit dolorem facere inventore corporis

我创建了一个包含以下内容的简单列表:

HTML部分:

<ul>
    <li>1) Lorem ipsum dolor sit amet, consectetur adipisicing elit. Cupiditate eius sit provident delectus veniam impedit dicta doloremque. Harum culpa a consequatur fugit dolorem facere inventore corporis temporibus eius labore soluta.</li>
    <li>2) Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolorum autem culpa quam fugiat hic architecto odit ipsam saepe temporibus sint.</li>
    <li>3) Lorem ipsum dolor sit amet, consectetur adipisicing elit. Expedita officia cumque odit amet consequuntur alias qui dignissimos tempore adipisci tenetur molestias hic modi fuga ad quod beatae iusto. Molestias eius.</li>
    <li>4) Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sint in pariatur soluta dignissimos aspernatur voluptatibus quis suscipit vel nulla laborum cumque vitae assumenda ducimus quas quaerat consectetur ea adipisci praesentium!</li>
    <li>5) Lorem ipsum dolor sit amet, consectetur adipisicing elit. Magnam rerum laborum esse pariatur optio impedit laboriosam perferendis eius unde rem soluta facilis placeat nesciunt voluptates incidunt. Quidem earum eius magni.</li>
</ul>
但第三个要素依赖于第一个要素,从而破坏了结构。如何设置具有相同高度的所有元素的列表

已更新

我使用СSS3解决了这个问题:

ul li:nth-child(odd) {
    clear: left;
}

您可以为列表中的每个
  • 项目设置高度。看小提琴:

    以及守则:

    ul li {
        width: 50%;
        float:left;
        border: 1px solid #000;
        box-sizing: border-box;
        height:150px;
    }
    

    您可以为列表中的每个
  • 项目设置高度。看小提琴:

    以及守则:

    ul li {
        width: 50%;
        float:left;
        border: 1px solid #000;
        box-sizing: border-box;
        height:150px;
    }
    

    假设
    li
    元素的长度是动态的,并且不能使用CSS设置静态高度,则可以使用
    map
    的组合来获得所有高度,然后使用
    Math.max
    将所有
    li
    高度设置为最高的高度,以便它们保持一致。试试这个:

    var $li = $('li');
    var maxHeight = $li.map(function() {
        return $(this).height();
    }).get();
    $li.height(Math.max.apply(this, maxHeight));
    

    假设
    li
    元素的长度是动态的,并且不能使用CSS设置静态高度,可以使用
    map
    的组合来获得所有高度,然后使用
    Math.max
    将所有
    li
    高度设置为最高的高度,以便它们保持一致。试试这个:

    var $li = $('li');
    var maxHeight = $li.map(function() {
        return $(this).height();
    }).get();
    $li.height(Math.max.apply(this, maxHeight));
    

    即使您可以设置最小高度:

    ul li {
        width: 50%;
        float:left;
        border: 1px solid #000;
        box-sizing: border-box;
        min-height: 150px;
    }
    

    甚至可以设置最小高度:

    ul li {
        width: 50%;
        float:left;
        border: 1px solid #000;
        box-sizing: border-box;
        min-height: 150px;
    }
    

    添加最小高度或甚至高度属性以包含它。。。您可以删除隐藏的溢出,因为这里不需要它

    ulli{

    width: 50%;
    float:left;
    border: 1px solid #000;
    box-sizing: border-box;
    min-height: 200px;
    

    }

    添加一个最小高度甚至高度属性来包含它。。。您可以删除隐藏的溢出,因为这里不需要它

    ulli{

    width: 50%;
    float:left;
    border: 1px solid #000;
    box-sizing: border-box;
    min-height: 200px;
    
    }