我正在创建一个带有可点击内容的网站,点击后会弹出一个固定宽度的DIV,其中包含更多信息。这些信息可能很长,需要在静态背景上垂直滚动(例如Pintrest)。我已经实现了基本的滚动效果,但是我遇到了一个问题:如何设置内容DIV的高度,以便正确地包裹所有内容。目前情况下,内容会溢出DIV的底部。
我在这里减少了一个简单的示例。
这将导致:
如果我省略
请注意,在此示例中,我仅在主要的“infobox” div 中有一个简单的内容 div,但在完整的网站中还有其他东西,例如图像库、按钮等,也将放在“infobox” 内。
我在这里减少了一个简单的示例。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Scroller Test</title>
<style>
* {
margin: 0;
}
html, body {
height: 100%;
background-color: #7A7A7A;
overflow: hidden;
}
#scroller {
position: fixed;
top: 0px;
left: 0px;
bottom: 0px;
right: 0px;
overflow-x: none;
overflow-y: scroll;
}
.infobox {
position: absolute;
top: 0px;
left: 100px;
width: 525px;
height: 100%;
z-index: 100;
background-color: #fff;
overflow: visible;
display: block;
padding: 0;
margin: 50px 0px 50px 0px;
}
.infobox-content {
position: absolute;
width: 475px;
margin: 0px 25px 0px 25px;
}
</style>
</head>
<body>
<div id="scroller">
<div class="infobox">
<div class="infobox-content">
<h2>Heading</h2>
<p>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. 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. Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Typi non habent claritatem insitam; est usus legentis in iis qui facit eorum claritatem. Investigationes demonstraverunt lectores legere me lius quod ii legunt saepius. Claritas est etiam processus dynamicus, qui sequitur mutationem consuetudium lectorum. Mirum est notare quam littera gothica, quam nunc putamus parum claram, anteposuerit litterarum formas humanitatis per seacula quarta decima et quinta decima. Eodem modo typi, qui nunc nobis videntur parum clari, fiant sollemnes in futurum.</p>
<p>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. 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. Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Typi non habent claritatem insitam; est usus legentis in iis qui facit eorum claritatem. Investigationes demonstraverunt lectores legere me lius quod ii legunt saepius. Claritas est etiam processus dynamicus, qui sequitur mutationem consuetudium lectorum. Mirum est notare quam littera gothica, quam nunc putamus parum claram, anteposuerit litterarum formas humanitatis per seacula quarta decima et quinta decima. Eodem modo typi, qui nunc nobis videntur parum clari, fiant sollemnes in futurum.</p>
<p>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. 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. Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Typi non habent claritatem insitam; est usus legentis in iis qui facit eorum claritatem. Investigationes demonstraverunt lectores legere me lius quod ii legunt saepius. Claritas est etiam processus dynamicus, qui sequitur mutationem consuetudium lectorum. Mirum est notare quam littera gothica, quam nunc putamus parum claram, anteposuerit litterarum formas humanitatis per seacula quarta decima et quinta decima. Eodem modo typi, qui nunc nobis videntur parum clari, fiant sollemnes in futurum.</p>
<p>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. 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. Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Typi non habent claritatem insitam; est usus legentis in iis qui facit eorum claritatem. Investigationes demonstraverunt lectores legere me lius quod ii legunt saepius. Claritas est etiam processus dynamicus, qui sequitur mutationem consuetudium lectorum. Mirum est notare quam littera gothica, quam nunc putamus parum claram, anteposuerit litterarum formas humanitatis per seacula quarta decima et quinta decima. Eodem modo typi, qui nunc nobis videntur parum clari, fiant sollemnes in futurum.</p>
</div>
</div>
</div>
</body>
</html>
这将导致:
![出现问题的示例。](https://istack.dev59.com/alyLd.webp)
height
,我的 DIV 将没有任何高度,因此根本不会显示任何白色背景。显然,我不能只为高度设置特定数量的像素。我尝试了调整边距、填充等等,但都无济于事。显然,我忽略了非常简单的东西,因为我已经在其他地方看到过这样做。查看其他网站的 CSS,我看不出自己错在哪里。请注意,在此示例中,我仅在主要的“infobox” div 中有一个简单的内容 div,但在完整的网站中还有其他东西,例如图像库、按钮等,也将放在“infobox” 内。
infobox-content
设置为position: relative;
。谢谢。 - Dave Sag