【问题标题】:Bootstrap container with position:absolute loses layout inside具有位置的引导容器:绝对在内部丢失布局
【发布时间】:2015-03-24 12:26:36
【问题描述】:

我正在针对最新的 Bootstrap 版本 3.3.2 开发网站。我的任务是创建位于其他内容之上的导航(悬停时的简单翻转菜单)。对于这个菜单,我想使用 Bootstrap 列。

要将 .container-fluid 放置在其他容器之上,我需要将其从标准流程中移除。所以需要使用position:absolute。一旦我将它应用到 .container-fluid(或围绕它的包装器),它就会失去 100% 的宽度,并且内部的整个布局都会丢失。

如果我从 .container-fluid 中删除 position:absolute (在我的例子中是 #menu ),它会返回布局,但是未从标准流程中删除。

JSFiddle 只有这种情况:http://jsfiddle.net/q6v9wv31/

HTML:

<div class="container first">
    <div class="row">
        <div class="col-xs-12">
            <p>Content here</p>
        </div>
    </div>
</div>
<div class="container ontop">
    <div class="row">
        <div class="col-xs-6">
            <p>Menu Item 1</p>
        </div>
        <div class="col-xs-6">
            <p>Menu Item 2</p>
        </div>
    </div>
</div>

CSS:

body {
    margin: 10px;
}
.first {
    height: 200px;
    background-color: #ddd;
}
.ontop {
    height: 100px;
    background-color: #d00;
    position: absolute;
    top: 100px;
}

项目当前版本:http://html.accuraten.com/ssc-html-dev/public/

请帮助我理解,如何解决这个任务。

【问题讨论】:

  • 您也可以将
    包装在另一个具有绝对位置和 100% 宽度的 div 中。这将使您受益于分层内容和引导容器类 css 的好处

标签: css twitter-bootstrap css-position


【解决方案1】:

如果要将位置设置为绝对位置并希望其具有 100% 的宽度,则应设置左右 CSS 样式:

HTML:

<div class="container first">
    <div class="row">
        <div class="col-xs-12">
            <p>Content here</p>
        </div>
    </div>
</div>
<div class="ontop container">
    <div class="row">
        <div class="col-xs-4">
            <p>Menu Item 1</p>
        </div>
        <div class="col-xs-4">
            <p>Menu Item 2</p>
        </div>
        <div class="col-xs-4">
            <p>Menu Item 2</p>
        </div>
    </div>
</div>

CSS:

body {
    margin: 10px;
}
.first {
    height: 200px;
    background-color: #ddd;
}
.ontop {
    height: 100px;
    background-color: #d00;
    position: absolute;
    top: 100px;
    right: 0;
    left: 0;
}

如果您希望它与第一个容器具有相同的边距,请将左:0 和右:0 更改为 10px。

绝对定位的元素不会在文档中获得任何空间。这意味着它在定位后不会留下空白空间。随后可以使用属性 left、right、top 和 bottom 来放置框。

http://html.net/tutorials/css/lesson14.php#s2

【讨论】:

  • 使用绝对位置的要点是你要绝对定位一个元素。这就是为什么您需要指定顶部、左侧、右侧/宽度、底部/高度。
  • 你拯救了我的一天兄弟!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-17
  • 1970-01-01
  • 2020-09-15
  • 2015-12-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多