如何使main-content
从右侧收缩而不是在侧边栏后面收缩?不确定我想做的事情是否需要flexbox,但是它几乎可以正常工作。
https://codepen.io/anon/pen/qJJeMr
html,
body {
margin: 0;
}
.container {
position: fixed;
height: 100%;
width: 100%;
}
.row {
height: 100%;
display: flex;
}
.main-content {
background: white;
height: 100%;
flex: auto;
display: flex;
justify-content: center;
align-items: center;
white-space: nowrap;
overflow-x: auto;
}
.main-content .content {
background: lightgreen;
padding: 10px;
margin: 10px;
height: 300px;
display: flex;
min-width: 720px;
}
.sidebar {
background: #f2f2f2;
height: 100%;
width: 700px;
flex: none;
display: flex;
}
.sidebar .side-menu-bar {
height: 100%;
width: 80px;
background: lightcyan;
flex: none;
}
<div class="container">
<div class="row">
<div class="sidebar">
<div class="side-menu-bar"></div>
<div class="side-content-panel"></div>
</div>
<div class="main-content">
In main container, outside main content...
<div class="content">
This is the main content.
</div>
</div>
</div>
</div>
答案 0 :(得分:0)
它并没有按照您的要求收缩,而是与其同级元素重叠,因为它具有固定的最小宽度。
.main-content .content {
background: lightgreen;
padding: 10px;
margin: 10px;
height: 300px;
display: flex;
min-width: 720px; <----- HERE
}
答案 1 :(得分:0)
由于您为min-width:720px;
指定了.content
,因此右边的主要内容没有减少。一旦删除,您的问题将得到解决。