我基于此创建了一个简单的两列布局:
How to control overflow of table cell in Firefox?。
左列应该是可滚动的(自上而下),右列应该是固定的。
HTML:
<div id="col1">
<div id="list">
<div class="row">Test 1</div>
<div class="row">Test 2</div>
<div class="row">Test 3</div>
<div class="row">... more rows</div>
</div>
</div><div id="col2"></div>
CSS:
html, body {
margin: 0;
padding: 0;
height: 100%;
width: 100%;
background-color: #0c0;
}
#col1 {
width: 25%;
height: 100%;
display:inline-block;
background-color: #c00;
}
#col1>#list {
width: 100%;
overflow: auto;
}
#col1>#list>.row {
padding: 5px;
border-bottom: 1px solid #ccc;
}
#col2 {
width: 75%;
height: 100%;
display:inline-block;
background-color: #00c;
}
请看这个演示:
http://jsfiddle.net/bitas/qRtjN/
Firefox 18.0.2几乎按预期显示了它。在其他浏览器中,左列不是从页面顶部开始,而是从左下角开始。
如果删除“ div#list”,它会按预期工作。这个div有什么问题?我该如何解决?
最佳答案
我已经对您的CSS进行了一些修改,并且可以正常工作。这里是:
html, body {
margin: 0;
padding: 0;
height: 100%;
width: 100%;
background-color: #0c0;
}
#col1 {
width: 25%;
height: 1000px;
display:inline-block;
background-color: #c00;
}
#col1>#list {
width: 100%;
height: 100%;
overflow: auto;
}
#col1>#list>.row {
padding: 5px;
border-bottom: 1px solid #ccc;
}
#col2 {
width: 75%;
height: 100px;
display:inline-block;
background-color: #00c;
position:fixed;
top:0;
right:0;
}