这是我的代码的摘录:
<div id="column2">
<div id="textbox">
<h3>About</h3>
<div id="text">
<img id="portrait" src="images/portrait.png"/>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean sollicitudin tristique posuere. Phasellus quis rhoncus felis. </p>
<p>Curabitur condimentum gravida lorem, non accumsan justo facilisis non. Nam at nisi venenatis tortor viverra posuere.</p>
</div>
</div>
</div>
该摘录的CSS代码:
#textbox {
background:lightgrey;
margin:38px 0 0 0;
width:400px;
font-size:0.825em;
line-height:150%;
}
#textbox p {
margin-top:0;
}
#textbox h3 {
margin: 0 0 15px 0;
}
#column2 {
float:right;
margin-right:150px;
}
#portrait {
float:right;
margin:0 0 10px 10px;
}
问题是当我在“文本框” div 中没有图像时,中心与带有图像的中心不同。我正在使用边距:0 自动;将此处未包含的整个包装器 div 居中。我可能能够通过绝对定位将其正确居中(尚未测试),但为什么图像会影响中心?由于图像的原因,整个包装器 div 向右移动了大约 5-10px(我对其进行了测试)。有什么建议么?非常感谢。
小提琴:http: //jsfiddle.net/uVSTJ/1/
编辑:如果我没有使用任何中心定位,则不会出现问题。
编辑2:我发现了问题,但不知道如何解决。只有当我到达页面底部并出现滚动条时才会发生这种情况。我想它会从不同的地方开始计算边距或其他东西,这会导致右边有几个像素。有什么方法可以在不使用溢出属性的情况下解决这个问题?