在HTML页面中,如果我将一些<div>
与“right:0px”对齐,它们看起来都非常好,正如我所料。但是,如果我使浏览器窗口变小并出现水平滚动条,当我向右滚动页面时,我会看到一个意外的空白区域(而不是我<div>
s的背景颜色)。似乎我的<div>
相对于页面的可见区域对齐。请参阅以下示例代码:
<html>
<head>
<style>
<!--
#parent {
position: absolute;
left: 0px;
right: 0px;
top: 0px;
bottom: 0px;
background-color: yellow;
}
#child {
position: absolute;
left: 100px;
top: 300px;
width: 1000px;
height: 400px;
background-color: blue;
}
-->
</style>
</head>
<body>
<div id="parent"><div id="child">some text here</div></div>
</body>
</html>
有没有办法让“right:0px”属性将控件相对于整个页面的大小对齐,而不仅仅是可见区域?
感谢。
答案 0 :(得分:4)
问题是父元素中的“绝对”位置,因为它可以按定义滚动。
如果您将位置设置为“固定”并且其他属性溢出为“滚动”,则它应该看起来像预期的那样。
#parent {position: fixed;
overflow: scroll;
left: 0px;
top: 0px;
right: 0px;
bottom: 0px;
background-color: yellow;
}
答案 1 :(得分:0)
如果你添加
html{ border: 3px solid red }
到你的样式表, 你会发现你正在将'正确'属性设置到页面的边缘。
我认为您需要重新考虑您的策略。 你想要实现什么目标?
答案 2 :(得分:0)
除非绝对必要,否则不要使用绝对位置。请改用边距和填充。并且不要忘记重置边距和填充,这样你就不会从浏览器的默认设置开始。
答案 3 :(得分:0)
是否有必要在您的情况下使用绝对定位?否则,您可以删除左侧和右侧属性,只需使用width:100%;
答案 4 :(得分:0)
我的回答是我想要更改对齐滚动? 例如“右对齐”滚动。
#ex {overflow: scroll}
答案 5 :(得分:-2)
右?底部?确定这些甚至是真正的CSS属性吗?通常你只需设置上/左,然后设置宽度/高度......