I have a horizontal scroll menu like this:
.tags-forest {
border: 4px solid red;
display: flex;
flex-wrap: nowrap;
}
.tags-leader {
display: flex;
flex: 0 0 130px;
height: 40px;
}
.tags-line {
display: flex;
flex-wrap: nowrap;
overflow: auto;
height: 60px;
}
.tags-item {
display: flex;
flex: 0 0 auto;
height: 30px;
margin: 0 10px;
background: #EEE;
padding: 5px;
}
<div class="tags-forest">
<div class="tags-leader">Tags</div>
<div class="tags-line">
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
</div>
</div>
This menu works well for now.
Then I created a left-right flexbox layout as
.layout {
display: flex;
}
nav {
width: 200px;
flex-shrink:0;
border: 4px solid green;
}
main {
flex-grow:1;
}
.content {
height: 50px;
border: 4px solid blue;
}
<div class="layout">
<nav>120px nav</nav>
<main>
<div class="content"> content </div>
</main>
</div>
This layout has a fixed width nav and a dynamic width content.
When I try to put this menu into this layout, the layout was crashed, right content was expended out of screen as below:
.layout {
display: flex;
}
nav {
width: 200px;
flex-shrink:0;
border: 4px solid green;
}
main {
flex-grow:1;
}
.content {
height: 50px;
border: 4px solid blue;
}
.tags-forest {
border: 4px solid red;
display: flex;
flex-wrap: nowrap;
}
.tags-leader {
display: flex;
flex: 0 0 130px;
height: 40px;
}
.tags-line {
display: flex;
flex-wrap: nowrap;
overflow: auto;
height: 60px;
}
.tags-item {
display: flex;
flex: 0 0 auto;
height: 30px;
margin: 0 10px;
background: #EEE;
padding: 5px;
}
<div class="layout">
<nav>120px nav</nav>
<main>
<div class="tags-forest">
<div class="tags-leader">Tags</div>
<div class="tags-line">
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
<span class="tags-item">I am tag</span>
</div>
</div>
<div class="content"> content </div>
</main>
</div>
I tried some ways to change flexbox params but not work, is there anyone could help me to make the layout correct