gpt4 book ai didi

CSS - 如何从 div 溢出到屏幕的全宽

转载 作者:行者123 更新时间:2023-11-28 07:19:44 25 4
gpt4 key购买 nike

我有一个包含 DIV,我将其用作响应式网格的一部分。它扩展到我允许的最大宽度 1280px,然后边距出现在大型设备上。这是我的 CSS + 少一点。

.container
{
margin-left:auto;
margin-right:auto;
max-width:1280px;
padding:0 30px;
width:100%;

&:extend(.clearfix all);
}

但是在某些情况下我想横向溢出 - 假设我有一个背景图像或颜色需要全宽。我不擅长 CSS - 但有可能实现我想要的吗?

最佳答案

最明显的解决方案就是关闭容器...使用全宽 div,然后打开一个新容器。标题“容器”只是一个类...并不是绝对要求它同时容纳所有内容

在这种情况下,您将背景色应用到全宽 div,并且您不需要将颜色应用到内部受限的 div。

* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
margin: 0;
padding: 0;
}
.container {
max-width: 80%;
border: 1px solid red;
margin: 0 auto;
}
.fullwidth {
background: orange;
}
header {
height: 50px;
background: #663399;
}
.mydiv {
/* background: orange; */
min-height: 50px;
}
footer {
height: 50px;
background: #bada55;
}
<div class="container">
<header></header>
</div>
<div class="fullwidth">
<div class="container">
<div class="mydiv">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ipsum illum veniam in delectus corrupti autem magnam. Tenetur ducimus provident nisi aut esse aliquid accusamus quas.</p>
</div>
<div class="mydiv">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ipsum illum veniam in delectus corrupti autem magnam. Tenetur ducimus provident nisi aut esse aliquid accusamus quas.</p>
</div>
</div>
</div>
<div class="container">
<footer></footer>
</div>

但是,对于某些人来说,他们喜欢单个所有包含的容器,所以如果您想要的只是背景,您可以使用像这样的伪元素:

* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
margin: 0;
padding: 0;
}
body {
overflow-x: hidden;
}
.container {
max-width: 80%;
border: 1px solid red;
margin: 0 auto;
}
header {
height: 50px;
background: #663399;
}
.mydiv {
height: 100px;
position: relative;
}
.mydiv:after {
content: "";
position: absolute;
height: 100%;
top: 0;
left: 50%;
transform: translateX(-50%);
width: 100vw;
background: orange;
z-index: -1;
}
footer {
height: 50px;
background: #bada55;
}
<div class="container">
<header></header>
<div class="mydiv">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ipsum illum veniam in delectus corrupti autem magnam. Tenetur ducimus provident nisi aut esse aliquid accusamus quas.</p>
</div>
<footer></footer>
</div>

支持vw是 IE9+ - 请参阅 http://caniuse.com/#feat=viewport-units

在某些情况下,100% 宽的 div 中需要实际内容,并且容器不能随意打开/关闭(可能是为了 retrofit slider )。

在这些情况下,新 div 的高度已知可以使用相同的技术将其定位为 100% 视口(viewport)宽度:

* {
margin: 0;
padding: 0;
}
body {
overflow-x: hidden;
}
.container {
max-width: 80%;
border: 1px solid red;
margin: 0 auto;
}
header {
height: 50px;
background: #663399;
}
.mydiv {
height: 100px;
position: relative;
}
.myslider {
position: absolute;
height: 100%;
top: 0;
left: 50%;
transform: translateX(-50%);
width: 100vw;
background: orange;
}
footer {
height: 50px;
background: #bada55;
}
<div class="container">
<header></header>
<div class="mydiv">
<div class="myslider">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ipsum illum veniam in delectus corrupti autem magnam. Tenetur ducimus provident nisi aut esse aliquid accusamus quas.</p>
</div>
</div>
<footer></footer>
</div>

JSfiddle Demo

注意:有些情况下 100vw可能会导致溢出,并且可能会出现水平滚动条。 overflow-x:hidden<body> 上可以处理那个……这应该不是问题,因为其他所有东西都还在容器里。

关于CSS - 如何从 div 溢出到屏幕的全宽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32148146/

25 4 0
文章推荐: wordpress - 字体未初始化但仅在三页上
文章推荐: html - Bootstrap 侧边栏在添加内容时更改大小
文章推荐: javascript - 如果未选择 radio ,则使用 jquery 隐藏加载的 div
文章推荐: html - 我的
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com