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

标签 html css scroll width

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

我有一个 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/

相关文章:

javascript - 在调整窗口大小时调整图像大小?

javascript - 带有 z-Index : Glitch on last Slide 的纯 JS + CSS 幻灯片

javascript - 第一次单击后 JQuery 函数停止工作

html - 如何使用纯 HTML/CSS 创建响应式图像 map ?

Android ListView 滚动到底部

javascript - 滚动到页面的底部元素

jquery - mCustomScrollBar "scrollTo, divID"不工作

javascript - 为什么从文件选择对话框中选择同一文件后不能立即再次选择该文件?

javascript - contenteditable div 元素的水印

html - 在 flex box 中使用时,网格不占据其 div 的全部高度