自版本 8 起,IE 以及所有版本的 Firefox 和 Chrome/Safari 都支持该display: table
属性和相关属性,例如。display: table-cell
参考:http ://caniuse.com/#feat=css-table
我相信这是你的情况。
HTML
<div class="container">
<div class="inner_container">
<div class="left_box">
<p>Lorem ipsum dolor sit amet</p>
</div>
<div class="middle">
<p>Lorem ipsum dolor sit amet</p>
</div>
</div>
<div class="right_static">Hi!</div>
</div>
CSS
.container {
position: relative;
width: 500px;
border: 1px solid #000;
overflow: auto;
}
.right_static {
position: absolute;
top: 0px;
right: 0px;
width: 100px;
background-color: green;
}
.inner_container {
display: table;
width: 400px;
overflow: auto;
}
.left_box {
display: table-cell;
background-color: red;
}
.middle {
display: table-cell;
background-color: #9999FF;
}
演示
http://jsfiddle.net/nd7qj/
顺便说一句,您在问题中提到最左边的 div 应该具有灵活的宽度,但是在您提供的 CSS 中它具有固定的宽度。所以我没有在我的代码中应用宽度。