Bootstrap 具有 position:absolute 的容器内部布局丢失
Bootstrap container with position:absolute loses layout inside
我正在根据最新的 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%,则应设置左右 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。
绝对定位的元素不会在文档中获得任何space。这意味着它在定位后不会留下空的space。您随后可以使用属性左、右、上和下来放置框。
我正在根据最新的 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%,则应设置左右 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。
绝对定位的元素不会在文档中获得任何space。这意味着它在定位后不会留下空的space。您随后可以使用属性左、右、上和下来放置框。