gpt4 book ai didi

html - 在水平滚动下让 div 占文档宽度的 100%

转载 作者:可可西里 更新时间:2023-11-01 13:06:35 26 4
gpt4 key购买 nike

抱歉,这个问题一定很愚蠢。

我有一个 div #header 和一个 div #content。 #content 的内容可能很宽,甚至比视口(viewport)还宽。在这种情况下,会出现一个水平滚动条,这很好。

但是,对于水平滚动条,我希望#header 占据 100% 的宽度,而不是视口(viewport)的宽度,而是文档的宽度;这样当用户滚动时它就不会被打断。

代码如下:

<!DOCTYPE html>
<html><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>test</title>
</head>
<body>
<div id="header" style="background:red;">this should take the entire width, even when
scrolling to the right</div>
<div id="content" style="min-width:1000px; min-height:1000px; border:1px solid green;">this causes a horizontal
scrollbar on narrow displays</div>
</body></html>

这是一个例子:http://a3nm.net/share/test_157235.html

我希望红色的#header div 与下面的#contents 一样宽。对于示例,我模拟了 #content 的宽度为最小宽度,但总的来说,我想要一种无论#contents 恰好具有什么宽度都有效的方法。

请注意,如果#content 足够高以导致垂直 滚动,我希望在用户向下滚动时标题随内容顶部一起滚动。

我确信这可以用 Javascript 完成,但我会寻找纯 CSS 解决方案。

谢谢!

最佳答案

好的,我找到了一个方法。首先,将 html 和 body 设置为 margin 和 padding 为 0,因为 CSS 重置会:

html, body
{
padding: 0;
margin: 0;
}

接下来,将#header 和#content 包含在具有以下样式的div #wrapper 中:

#wrapper
{
position:absolute;
min-width: 100%;
}

这使得 wrapper 占据至少 100% 的视口(viewport)宽度(由于 CSS 重置导致没有水平滚动条),并且它是绝对的使得它以某种方式占据 100% 的文档宽度以防需要水平滚动条因为#content。

完整的解决方案:

<!DOCTYPE html>
<html><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>test</title>
<style type="text/css">
html,body {
padding: 0;
margin: 0;
}
</style>
</head>
<body>
<div style="position:absolute; min-width: 100%;">
<div id="header" style="background:red;">this should take the entire width, even when
scrolling to the right</div>
<div id="content" style="min-width:1000px; min-height:1000px; border:1px solid green;">this causes a horizontal
scrollbar on narrow displays</div>
</div>
</body></html>

导致:http://a3nm.net/share/test_971696.html

关于html - 在水平滚动下让 div 占文档宽度的 100%,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32234866/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com