-1

是否可以使用绝对定位将块级元素的顶部放置在距离窗口底部 100px 的位置?

在我的应用程序中,我无法将这个元素锚定在距页面顶部给定数量的像素处,因为页面上的几个元素的高度未知,我必须使用 JavaScript 来动态测量、调整大小和放置这些元素。

感谢您的时间。

4

4 回答 4

1

相对于您要使用的浏览器窗口定位项目position:fixed,而不是position:abslute. 然后,您只需设置bottom: 100px或远离窗口底部的距离。

于 2013-02-01T23:57:33.940 回答
1

不,如果position:absolute不利用 JavaScript 或基于被定位元素的高度的某些服务器端逻辑,就不可能使用(但听起来你也不知道)。

于 2013-02-02T00:02:25.400 回答
0

我不确定这一点,但也许这会有所帮助:

<div class='b'>
    <div class='a'>
        element
    </div>
</div>

.a {
    margin-bottom:-100%;
}

.b {
    position:absolute;
    bottom:100px;
}

http://jsfiddle.net/pmB9U/

于 2013-02-02T00:06:17.670 回答
0

如果可以使用不跨越整个页面的滚动条,这是很有可能的:

<!DOCTYPE html>
<html>

<head>
<title>Emulate position:fixed</title>
<style type="text/css">
html, body {
    margin: 0;
    padding: 0;
}
body {
    height: 100%;
    overflow: hidden;
}
#content {
    position: absolute;
    top: 50px;
    bottom: 100px;
    width: 100%;
    overflow: auto;
}
#header {
    height: 50px;
    background-color: yellow;
    position: absolute;
    top: 0;
    width: 100%;
    height: 50px;
}
#footer {
    position: absolute;
    background-color: yellow;
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 100px;
}
</style>
</head>

<body>
<div id="header">
    header
</div>
<div id="content">
    <p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p>
    <p>Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.</p>
    <p>Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.</p>
    <p>Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.</p>
    <p>Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis.</p>
</div>
<div id="footer">
    footer
</div>
</body>

</html>
于 2013-02-02T00:22:18.970 回答