如果页面宽度大于我的屏幕,我怎么能正确定位?

时间:2011-12-01 05:50:43

标签: html css positioning

我想在页面的右侧放置一个元素。

我在firefox 8上试过这个,但错了:

<!DOCTYPE html>
<html>
<body style="min-width:2000px;background-color:#222">
<div id="a" style="position:absolute;right:0;width:200px;background-color:#eee">this should be on the right, even if you scroll right</div>
<div style="width:100%">this is just to adjust the page to max width</div>
</body>
</html>

将它定位在我的屏幕可见部分的右侧,但我的页面更宽,所以如果我向右滚动,div a不再在右边,但是右边有一个空格,这是在pageload上看不到的空间

我希望页面内容(不是可见部分)的非常正确 所以,如果我不向右滚动,那么它应该在可见区域之外

3 个答案:

答案 0 :(得分:1)

position: absolute更改为position: fixed,无论向任何方向滚动,它都会保持固定在该位置。

更新

抱歉,我的不好 - 不太明白你的问题 如果你想让它一直定位在身体的右侧,you only need to add position: relative; to your <body> tag,行为将是你所追求的行为。

您需要添加此属性,否则,绝对(或相对)定位元素将相对于应用了非static位置的最近父元素定位。

答案 1 :(得分:1)

尝试为您的体型指定position: relative;

修改:这是学习CSS定位的非常好的参考网站:Learn CSS Positioning in 10 Steps

答案 2 :(得分:1)

<!DOCTYPE html>
<html>
<body style="min-width:2000px;background-color:#222; position: absolute;">
<div id="a" style="position:absolute; right: 0; width:200px; background-color:#eee">this should be on the right, even if you scroll right</div>
<div style="width:100%; ">this is just to adjust the page to max width</div>
</body>
</html>

在身体上设置绝对应该修复它。 http://jsfiddle.net/JXgk9/3/