垂直顶部对齐ul项目并排

时间:2015-03-04 17:11:45

标签: css html5 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>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:2)

这也与着名的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;
}
相关问题