css - 在可滚动内容上具有全高背景色

标签 css height background-image

我正在尝试在左侧放置一个在所有情况下都占据全高的容器,即使窗口高度很小并且有一个滚动条。右侧还有一个按比例缩放的背景图片。

我遇到的问题是,当左容器的高度不足时,它只会获取背景颜色,因为视口(viewport)高度不是外窗口高度。有没有办法在可滚动和不可滚动条件下保持背景颜色不变?

演示:

https://jsfiddle.net/x1o5n2bL/1/

html {
  padding: 0;
  margin: 0;
}

body {
  padding: 0;
  margin: 0;
  /* height: 100%; */
  background: url(https://picsum.photos/id/965/4300/2820) no-repeat fixed;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='.https://picsum.photos/id/965/4300/2820', sizingMethod='scale');
  -ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://picsum.photos/id/965/4300/2820', sizingMethod='scale')";
}

.left {
  width: 50%;
  float: left;
  background-color: black;
  color: white;
}

/* enabling this breaks the background-color when there is a scroll */
html,
body,
.left {
  height: 100%;
}
<div class="left">
  <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sit eos cumque quae, corporis temporibus odio ab, aliquid omnis, a ullam quos voluptatem cum recusandae culpa earum tempore quisquam dignissimos accusantium?</p>
  <p>Nihil maxime ad nulla, repudiandae sequi tenetur. Amet ut quo consequatur molestiae veritatis neque quam ex libero, minus exercitationem, obcaecati dolorum aliquam corrupti laudantium alias velit corporis architecto in pariatur.</p>
  <p>Fugit nulla, dolores eius sint quibusdam autem perferendis inventore veniam distinctio porro, maiores facilis quos enim saepe tenetur aliquam quod deserunt rem laborum amet illo repellat ea. Sint, eius, distinctio?</p>
  <p>Architecto nisi autem atque iusto excepturi consequuntur, porro blanditiis, debitis harum et labore libero ipsam sequi temporibus accusamus ratione, tempore sed eveniet modi. Ipsam, illo, corporis. Error in non, beatae?</p>
  <p>Doloribus aspernatur doloremque qui blanditiis nisi, explicabo alias possimus quo adipisci pariatur, excepturi quisquam ab! Necessitatibus temporibus eos, omnis recusandae nihil beatae facere tenetur ipsa ex iure, sit doloremque, labore.</p>
  <p>Ad sunt voluptates quos. Quibusdam animi mollitia itaque dignissimos impedit ducimus tempora hic voluptatibus quam provident! Alias quam, pariatur aut error magnam, earum magni repellat reiciendis, aliquid, maiores repellendus accusamus.</p>
</div>

最佳答案

在左侧 div 上使用 min-height: 100%

.left {
    ...
    min-height: 100%;
}

关于css - 在可滚动内容上具有全高背景色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56447753/

相关文章:

jquery - 在 wordpress post [jQuery] 中设置动态 css 背景图片

CSS 单一属性类

一系列紧邻标签中第 n 个的 CSS 选择器

css - 如何在不使用固定定位的情况下使视口(viewport)的 div 达到 100%?

jquery - 如何使用绝对定位的子项(不是重复项)设置父级 div 的 100% 高度?

javascript - 需要将图像 href 翻转效果更改为 td onclick

html - 缩小一组 CSS 形状

html - 显示设置为内联 block 的元素在 MVC for 循环中不起作用

javascript - 如何找到真正的DIV高度?

javascript - HTML/CSS : Background Image from raw image data, 不是 url