使用 jQuery 更新答案:
http://jsfiddle.net/zjZth/8/
$(document).ready(function(){
var margin = (($('#content').width() - $('#right').width()) - $('#left').width() ) / 2;
$('#left').css('margin-left', margin + 'px');
});
原答案:
我能想出的最简单的解决方案是将您的浮动右侧 div 放在您的内容之外,然后为您的内容提供与浮动 div 宽度相等的右边距。
更新小提琴:http: //jsfiddle.net/zjZth/6/
HTML:
<div id="right"></div>
<div id="content">
<div id="left"></div>
<p>Lorem ipsum etc. etc. hkf uhuhek jfhksd jhgklh wgeluih e d shd ed k uhue f vgkdgku e fudu ghf ugefkiu gek fwioeugf i ghdsi gusdui djhfk uhuhek jfhksd jhgklh wgeluih e d shd ed k uhue f vgkdgku e fudu ghf ugefkiu gek fwioeugf i ghdsi gusdui djhfk uhuhek jfhksd jhgklh wgeluih e d shd ed k uhue f vgkdgku e fudu ghf ugefkiu gek fwioeugf i ghdsi gusdui djhfk</p>
</div>
对于 CSS:
#content {
padding: 5px;
margin-right:200px;
}
#right {
background: rgba(0,0,255,0.8);
float: right;
width: 200px;
height: 200px;
margin: 5px;
}
#left {
background: red;
margin: 5px auto;
width: 200px;
height: 120px;
}