是否可以使用两列布局,其中一列具有最小宽度值?请参阅以下代码:
#container {
width: 100%;
max-width: 1200px;
min-width: 960px;
height: 600px;
margin: 0 auto;
}
#sidebar {
float: left;
width: 20%;
min-width: 300px;
height: 100%;
}
#content {
float: left;
width: 80%;
height: 100%;
}
问题是,当窗口调整大小并且#sidebar
获得应用的最小宽度值时,#content
将从页面上删除。
理想情况下,我希望在不使用display: table
的情况下执行此操作,理想情况下,首选仅使用CSS解决方案。
编辑:这是一个证明问题的方法:http://jsfiddle.net/2DwB3/
答案 0 :(得分:0)
您可以执行此操作:http://codepen.io/anon/pen/GmwIo
#container {
width: 960px;
height: 600px;
margin: 0 auto;
overflow: hidden;
}
#sidebar {
float: left;
min-width: 300px;
height: 100%;
}
#content {
}
答案 1 :(得分:0)
#content
列正在折叠(即使是全屏尺寸),因为左列(min-width
)的#sidebar
值超过其width
} value,因此 right 列(#content
)的剩余空间小于80%
宽度的#container
。
在这种情况下,#content
的宽度应根据#sidebar
的宽度进行更改。但是,由于您使用了min-width
属性作为侧边栏,如果您设置的值低于宽度值(类似150px
),则无法计算#content
的宽度,即使使用CSS3 calc()
函数。
或者,您可以停止浮动右列并隐藏额外的水平溢出overflow-x: hidden;
以实现所需目标:
#sidebar {
float: left;
width: 20%;
min-width: 300px;
height: 80%; /* Changed for the demo */
}
#content {
height: 100%;
overflow-x: hidden;
}
<强> WORKING DEMO 强>