css - 垂直顶部并排对齐 ul 元素

标签 css html html-lists vertical-alignment

我将我的 UL 元素设置为具有 display: inline-block、30% 宽度,并且它们正确地并排对齐。

但是,如果有更大的 li,它们会垂直对齐到底部。

有什么方法可以顶部对齐这些元素吗?

我不喜欢的一个解决方案是让所有元素的高度都相等的 Javascript,但这并不是解决此问题的干净方法,因为不同的行可能需要不同的高度。

这里是代码片段..

ul {
  display: block;
  width: 100%;
  list-style: none;
  padding: 0;
}
ul > li {
  display: inline-block;
  width: 50%;
}
<ul>
  <li>
    <h1>Item A with Long text</h1>
    Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quibusdam quisquam debitis officia impedit sed omnis dolorem nihil doloribus dolore provident totam unde minus possimus quae dignissimos quo necessitatibus ipsa molestias.
  </li>
  <li>
    <h1>Item B with Short Text</h1>
  </li>
  <li>
    <h1>Item C with Short Text</h1>
  </li>
  <li>
    <h1>Item D with Short Text</h1>
  </li>
</ul>

最佳答案

这也和著名的white space有关错误。

查看此演示,使用字体大小进行修复 https://jsfiddle.net/8hfgmwLy/2/

HTML

<ul>
    <li>
        <h1>Item A with Long text</h1>
        Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quibusdam quisquam debitis officia impedit sed omnis dolorem nihil doloribus dolore provident totam unde minus possimus quae dignissimos quo necessitatibus ipsa molestias.
    </li>
    <li>
        <h1>Item B with Short Text</h1>
    </li>
    <li>
        <h1>Item C with Short Text</h1>
    </li>
    <li>
        <h1>Item D with Short Text</h1>
    </li>
</ul>

CSS

ul {
    display: block;
    width: 100%;
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 0;
}

ul > li {
    display: inline-block;
    width: 25%;
    background: grey;
    vertical-align: top;
    font-size: 14px;
}

关于css - 垂直顶部并排对齐 ul 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28860627/

相关文章:

html - 如何设置列表项之间的垂直间距?

html - Bootstrap 4 导航栏中的中心搜索栏

javascript - 我的跨度在别人之上

html - 3 列 div 布局不适合我

javascript - 我如何更改按钮文本和类,如切换

html - ul 列表不在屏幕中心

javascript - 刷新内容 jQuery

html - 如何解决三 Angular 形对齐问题,我不知道我的代码有什么问题

javascript - 嵌套 jQuery radio 输入

html - 如果 <li> 不在 <ul> 或 <ol> 之下,您可以使用它们吗?