从窗口底部开始的元素顶部 100px

CSS Top of Element 100px From Bottom of Window

本文关键字:元素 顶部 100px 开始 窗口 底部      更新时间:2023-09-26

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

在我的应用程序中,我无法将此元素

锚定为页面顶部给定数量的像素,因为页面上的几个元素的高度未知,我必须使用 JavaScript 来动态测量、调整和放置这些元素。

谢谢你的时间。

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

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

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

<div class='b'>
    <div class='a'>
        element
    </div>
</div>
.a {
    margin-bottom:-100%;
}
.b {
    position:absolute;
    bottom:100px;
}

http://jsfiddle.net/pmB9U/

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

<!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>