CSS/BOOTSTRAP : making element inside the gird (. 容器/.row) 全(屏幕)宽度

标签 css twitter-bootstrap layout twitter-bootstrap-3

所以我有一个站点结构...

body
---- main.container
--------- div.row
-------------- div.content

在内容元素中我注入(inject)了一些来自 CMS 的内容..

一切正常...但随后需要一个模块在内部充满(屏幕宽度),所以在 .container 之外 - 一直到边缘

所以最后的内容是这样的:

body
---- main.container
--------- div.row
-------------- div.content
-------------------- div.col-xs-12.module1
-------------------- div.col-xs-12.module2
-------------------- div.full-width.module3
-------------------- div.col-xs-12.module4

现在,为了让 .full-width 类实现真正的全屏,我使用了 position: absolute,就像这样

.full-width{
    position: absolute;
    left: 0;
    width: 100%;
}

问题是,显然 position: absolute 从流中删除元素,然后 .module4 出现在 .module2 之后,.module3 出现在它上面。

现在,正确实现这一目标的最佳方法是什么?

需要考虑的事项:

  • 全宽模块没有固定的高度,可以是任何高度,取决于里面的内容
  • 我没有包装元素(内容/行)的确切边距/填充...因为它可以嵌套更多并且没有
    保证模块是 .row 的直接子项 ..... 所以负边距不起作用

有什么想法吗?

最佳答案

如果你想要一个全宽的行,你必须使用在 bootstrap documentation 中指定的 .container-fluid 类.

因此您的站点结构应如下所示:

body
---- main
--------- div.container
-------------- div.row
------------------- div.col-xs-12.module1
------------------- div.col-xs-12.module2
--------- div.container-fluid
-------------- div.row
------------------- div.full-width.module3
--------- div.container
-------------- div.row
------------------- div.col-xs-12.module4

编辑

如果您无法更改 HTML 结构 (IE11+):

.full-width {
    width: 100vw;
    margin-left: -50vw;
    left: 50%;
}

演示:http://www.bootply.com/tVkNyWJxA6

关于CSS/BOOTSTRAP : making element inside the gird (. 容器/.row) 全(屏幕)宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39998185/

相关文章:

javascript - 审核按钮不起作用

Java Swing : manage multiple SpringLayout

python - Django Crispy 表单拆分字段布局

html <li> 标签不会展开以包含 anchor 填充

jquery - 动画宽度 : content goes out when width zero

java - 在编辑和非编辑模式之间切换时防止 GET EditText Cell 翻转

javascript - 确定中心

html - Bootstrap 3 : Responsive Image with fixed Hight should zoom in.

html - CSS - 调整窗口大小时无法将 span 3 和 span9 保持在同一行

java - 使用多个 View /布局时在 Android 中处理触摸事件