2017-09-12 30 views
2

我已經搜索了這個問題,發現了一些類似的答案,但不是我正在尋找的東西,所以這裏就是了。正確地平等地傳播列表

我有一個無序的列表,需要垂直分佈。
這是我有:

<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

我希望這是足夠的信息來解釋我的問題。

回答

3

相反的table你可以使用一個flexbox顯示這樣的:

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>

+0

這將無法完成他的要求。他的問題不在於圖標間距本身或表格佈局。這是他在名單上設置'top:0',而不是給它一些空間來呼吸。 – JDewitt

+2

解決方案是正確的 - 請參閱OP的說明:「*我有一個無序列表,需要垂直分佈。」......請重新閱讀該問題,然後刪除向下投票 – kukkuz