适当地垂直传播列表

时间:2017-09-12 16:02:36

标签: html css css3 vertical-alignment

我已经搜索过这个问题,找到了一些类似的答案但不完全是我要找的东西,所以这里有。

我有一个无序列表需要垂直传播。
这就是我所拥有的:

<div class="icons">
<ul>
    <li><div class="twitter-icon"><img src="images/twitter.png"></div></li>
    <li><div class="github-icon"><img src="images/github.png"></div></li>
    <li><div class="linkedin-icon"><img src="images/linkedin.png"></div></li>
</ul>
</div>

.icons {
    position:absolute;
    top:0;
    right:5%;
    height:100vh;
}
.icons ul {
    display:table;
    table-layout: fixed;
    height:100%;
    margin:0;
    padding:0;
}
.icons li {
    display: table-row;
}

这是结果:
Currently happening

这就是我要找的东西:
Goal

我希望这足以解释我的问题。

1 个答案:

答案 0 :(得分:4)

您可以使用table 显示代替flexbox而不是{/ p>

display: flex; /* define a flexbox */
flex-direction: column; /* place it vertically*/
justify-content: space-around; /* spread it vertically */

见下面的演示:

.icons {
  position: absolute;
  top: 0;
  right: 5%;
  height: 100vh;
}

.icons ul {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  height: 100%;
  margin: 0;
  padding: 0;
}

.icons li {
  display: table-row;
}
<div class="icons">
  <ul>
    <li>
      <div class="twitter-icon"><img src="http://placehold.it/100x100"></div>
    </li>
    <li>
      <div class="github-icon"><img src="http://placehold.it/100x100"></div>
    </li>
    <li>
      <div class="linkedin-icon"><img src="http://placehold.it/100x100"></div>
    </li>
  </ul>
</div>