我有一个类似的问题,该容器在布局中使用并且适用于大多数页面,但我希望该容器中有一个奇怪的全宽元素。
从 Bootstrap 3 开始,您可以将该.container-fluid
类用于 100% 宽度的内容。但是,在内部使用.container
它什么都不做,因为它受到.container
宽度的限制。以下是我遇到的一些选项/解决方法:
使用部分
如果始终在容器内容的开头或结尾使用 100% 宽度的内容,您可以在布局页面中定义部分,并在其中插入 100% 宽度的元素。
布局:
<div class="container-fluid">
@RenderSection("containerFluid", required: false)
</div>
<div class="container">
@RenderBody()
</div>
看法:
@section containerFluid
{
<div>Full width content.</div>
}
<div>Other content</div>
在您的情况下,如果您在该页面上没有其他内容,则可以将整个页面放在该部分中。
使用另一个布局页面
如果它是一个需要全宽的整个页面,你可以让它使用不同的布局。对公共代码使用部分并将.container
元素更改为.container-fluid
.
正常布局:
<!DOCTYPE html>
<html lang="en">
@Html.Partial("_LayoutHead")
<body>
@Html.Partial("_Navbar")
<div class="container">
@RenderBody()
</div>
@Html.Partial("Footer")
</body>
</html>
替代布局
<!DOCTYPE html>
<html lang="en">
@Html.Partial("_LayoutHead")
<body>
@Html.Partial("_Navbar")
<div class="container-fluid">
@RenderBody()
</div>
@Html.Partial("Footer")
</body>
</html>
手动关闭容器并稍后重新打开
我不会真的推荐这个,因为它非常hacky,并且会显示错误,但它确实可以编译和工作。如果您在内容中间的某处有一个元素,无论出于何种原因想要全宽,则可以使用此功能。
看法:
<div>Some normal content here.</div>
</div> <!--This shows an error for missing a starting tag. The actual starting tag is on the layout page.-->
<div class="container-fluid">
<div>Full width div</div>
</div>
<div class="container"> <!--This shows an error for missing an ending tag. It actually gets closed using the end tag in the layout page-->
<div>Back to normal</div>