0
我有兩列布局。第1欄是一個標題。第2列是一個列表。使用Flexbox創建適合內容的雙列布局
我想讓列適合內容。 (例如,第1列應該與其內容一樣寬)
我也希望列表是水平的。
我想使用Flexbox,因此我可以更改列表中的項目並使佈局相應地適應。
E.g.所以它看起來像這樣:
我怎樣才能做到這一點?
這裏是我的代碼(Codepen is here):
<div class="wrapper">
<nav class="topics">
<span class="unit unit-header">Topics: </span>
<ul id="list" class="list unit">
<li><a href="#">All</a></li>
<li><a href="#">Topic 1</a></li>
<li><a href="#">Topic 2</a></li>
<li><a href="#">Topic 3</a></li>
<li><a href="#">Topic 4</a></li>
<li><a href="#">Topic 5</a></li>
<li><a href="#">Topic 5</a></li>
</ul>
</nav>
</div>
.wrapper {
width: 960px;
margin: auto;
padding-top:20px;
}
.topics {
display: flex;
}
.unit {
flex: 1 auto;
}
.list {
display:flex;
}
.list li {
flex: 1 auto;
}
如果我添加以下代碼,它的工作原理:
.unit-header {
display: table;
padding-right: 5%;
}
然而,混合表柔性盒似乎有點哈克對我來說。有沒有更好的辦法?
這一工程,但那麼鏈接就會聚集在一起。我怎樣才能讓鏈接平均分配空間,同時保持標題欄適合其內容? –
@big_smile您是否在尋找['justify-content'](https://developer.mozilla.org/en-US/docs/Web/CSS/justify-content)或者僅僅是這樣? http://codepen.io/anon/pen/mJebNp – Stickers
是的,justify-content工作!所以代碼是'.list {justify-content:space-around;}' –