html - 如何在一行中等高显示四个li标签?

标签 html css

我有一个元素列表,它是动态从数据库中获取的,所以我对内容一无所知。我必须在一行中以相同的高度显示这四个里。我尝试了以下代码,但它不起作用。

我尝试将 display:flex 设置为 ul 但所有 li 标签都显示在一行中。我也尝试了 display: tabledisplay: table-cell; 但同样的问题都显示在一行中。

body {
  margin: 0;
  padding: 0;
}

.List {
  max-width: 1140px;
  margin: auto;
}

.List ul {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
}

.List ul li {
  width: 24%;
  padding: 20px;
  box-shadow: 1px 1px 12px 0px #EBE8E8;
  border-radius: 03px;
  background-color: #fff;
  margin: auto 07px 14px auto;
  display: inline-block;
}
<div class="List">
  <ul>
    <li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo sociis natoque
    </li>
    <li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean </li>
    <li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque
    </li>
    <li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo sociis natoque
    </li>
    <li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean </li>
    <li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo sociis natoque
    </li>
    <li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque
    </li>


  </ul>
</div>

My expected output is 


1  2  3  4
5  6

最佳答案

试试这个:

body {
  margin: 0;
  padding: 0;
}

.List {
  max-width: 1140px;
  margin: auto;
}

.List ul {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

.List ul li {
  padding: 20px;
  box-shadow: 1px 1px 12px 0px #EBE8E8;
  border-radius: 03px;
  background-color: #fff;
  margin: 0 10px;
  flex: 1 0 19%;
  max-width: 19%;
}

codepen

关于html - 如何在一行中等高显示四个li标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56802036/

相关文章:

java - 如何从html仅获取没有垃圾的文本?

html - Flex 换行列 : fill the available width with columns

html - 将 div 与图像居中用于我的顶部导航

css - WebKit 是否具有 CSS 伪类 -moz-drag-over 的等效项?

javascript - 跨浏览器 3D 动画

javascript - 为什么 ng-bind-html 只显示文本而不显示链接?

javascript - 如何在 asp.net C# 中使用 jquery 绑定(bind) ul 标签

html - CSS Position relative goes over fixed 如何解决这个问题?

css - 使用 CSS 和 Bootstrap 3 突出显示当前悬停在 html 表中的行和列

javascript - 如何隐藏和显示链接中的另一个 iframe