设置div的背景并设置宽度以遍及整个屏幕

时间:2018-08-29 09:28:26

标签: html css

我有一个div,其最大宽度设置为1200px。我想设置背景,但是,我希望背景一直贯穿整个屏幕,并忽略div的宽度。使用CSS可以做到吗?

.container {
    max-width: 1200px;
    position: relative;
    background-color: black;

我想保留元素的内容以侦听max-width属性。这只是我要深入了解的背景。

编辑

对于那些认为我没有尝试以不同方式解决问题的人。我做到了,我开始努力了。但是,我的问题是:

是否可以将div的background-color设置为忽略div的大小并遍历整个屏幕? (位于div之外),没有父容器和内部容器,而是使用纯CSS ...

3 个答案:

答案 0 :(得分:1)

希望获得帮助。

您可以使用这种杀手way。

ComboBox
.container {
    max-width: 1200px;
    margin: 0 auto;
}
.container:before {
    content: '';
    position: absolute;
    height: 100%;
    top: 0;
    left: 0;
    width: 100vw;
    background: #e5e5e5;
    z-index: -1;
}
body {
    position: relative;
    margin: 0;
    padding: 0;
}

答案 1 :(得分:1)

尝试使用已修复的伪元素,并使用继承来获取容器的背景:

.container {
  max-width: 400px;
  min-height: 200px;
  margin: auto;
  position: relative;
  background: red;
  border: 3px solid #000;
}

.container:before {
  content: "";
  z-index: -1;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: inherit;
}
<div class="container"></div>

答案 2 :(得分:-1)

这违背了HTML文档的结构。

  

虽然您可以从技术上“破解”实现这一目标的方式,但是您   应该简单地使用适当的结构代替

所有子节点都包含在其父元素内。 如果您不希望将元素绑定到其父元素,只需将其放置在其外部即可。

#inside { 
  width: 80%;
}

.fullwidth {
  width: 100%; /* redundant, but for illustration purposes */
}

 body > div {
  border: 1px solid black;
  margin: 10px auto;
}
<body>
  <div id="inside">
    <div class="fullwidth">
      I'll always be 100% of my parent's width
    </div>
  </div>
  
  <div class="fullwidth">
    My parent is body (which is 100%), so I'll be 100% of body as well!
  </div>
</body>

您实质上正在创建一个不存在的问题。 您应该使用正确的HTML文档结构

,而不是尝试找到破坏文档流程的方法。

注意:显然,您可以创建一个.wrapper,该服务器将为您的内容提供100%宽度的背景,即80%左右。毕竟这是惯例。