Html 纯CSS解决方案阻止从网格中流出
我已经举例说明了这种情况: 蓝线表示网站所在的网格。现在让我们假设一个960像素的网格,左侧为300px(红色部分),右侧为20px间隙,其余为640px(黑色和绿色部分)。我想知道是否有一种解决方案不使用Html 纯CSS解决方案阻止从网格中流出,html,css,Html,Css,我已经举例说明了这种情况: 蓝线表示网站所在的网格。现在让我们假设一个960像素的网格,左侧为300px(红色部分),右侧为20px间隙,其余为640px(黑色和绿色部分)。我想知道是否有一种解决方案不使用calc()(由于较旧的浏览器)或背景图像(因为这不太好看) 有没有一种很好的方法可以做到这一点,只使用CSS,同时保持内容在网格中居中,背景一直流到屏幕的边缘? 通过伪元素和绝对定位完成。使用引导程序进行更快的演示。实际上,这是一个特定的问题,我的解决方案可能不适合您的项目。特别是当你需要
calc()
(由于较旧的浏览器)或背景图像
(因为这不太好看)
有没有一种很好的方法可以做到这一点,只使用CSS,同时保持内容在网格中居中,背景一直流到屏幕的边缘?
通过伪元素和绝对定位完成。使用引导程序进行更快的演示。实际上,这是一个特定的问题,我的解决方案可能不适合您的项目。特别是当你需要水平滚动时。但问题解决了
&:after {
content: " ";
position: absolute;
top: 0; right: 6px;
width: 99999%;
height: 100%;
background: red;
z-index: -1;
}
此元素的父元素当然需要位置:相对。在示例中,这是通过引导完成的。Flexbox:
这一点的另一个好处是立柱高度始终相等:
*{margin:0;padding:0;框大小:border-box;}
.电网{
显示器:flex;
}
col-3{
flex:1320px;
右边框:20px实心#fff;
}
.col-2-3{
flex:1640px;
}
上校3{
显示器:flex;
证明内容:柔性端;
}
.col-3>分区{
填充:20px;
flex:01300px;
}
.col-2-3>分区{
显示器:flex;
调整内容:灵活启动;
}
.col-2-3>div>div{
flex:01640px;
填充:20px;
}
.red{背景:#f00;颜色:#fff;}
.green{背景:#0f0;}
.black{背景:#000;颜色:#fff;}
Lorem ipsum dolor sit amet,是一位杰出的献身者。毛里斯·奎斯·朗卡斯·埃拉特。莫比是侵权前的医生。塞德·特里斯蒂克,利奥·非弗林利亚临时演员,奥奇·利古拉·洛博蒂斯·维利特,一位自由人中的高效侵权者。这是一只扭曲直径的小老鼠,它是一只同侧的小老鼠。这是一种新的交通工具。小木偶,小木偶。这是一个很好的例子。
Lorem ipsum dolor sit amet,是一位杰出的献身者。毛里斯·奎斯·朗卡斯·埃拉特。莫比是侵权前的医生。塞德·特里斯蒂克,利奥·非弗林利亚临时演员,奥奇·利古拉·洛博蒂斯·维利特,一位自由人中的高效侵权者。这是一只扭曲直径的小老鼠,它是一只同侧的小老鼠。这是一种新的交通工具。小木偶,小木偶。这是一个很好的例子。
Lorem ipsum dolor sit amet,是一位杰出的献身者。毛里斯·奎斯·朗卡斯·埃拉特。莫比是侵权前的医生。塞德·特里斯蒂克,利奥·非弗林利亚临时演员,奥奇·利古拉·洛博蒂斯·维利特,一位自由人中的高效侵权者。这是一只扭曲直径的小老鼠,它是一只同侧的小老鼠。这是一种新的交通工具。小木偶,小木偶。这是一个很好的例子。
你的问题的答案是否定的。@Vann'TileIanito我很担心,是的。但让我们拭目以待:)这里有一些非常聪明的人。如果有一个纯css解决方案,我会很高兴听到它。我的回答很冷淡,因为我以前尝试过这个设置,但失败了。当然有办法做到这一点,只是没有标准的960网格。十分钟后回来看flexbox演示。@Adam如果你能给我提供这样的解决方案,我会很高兴的!我会让它再开放一段时间,看看是否有人也能找到解决高度问题的方法,尽管这实际上不是问题。不过你肯定会得到一张赞成票!我最终使用了这个解决方案,因为它适用于大多数浏览器。