我正在做一个ASP.NET的MVC5网络应用程序。默认模板使用 Bootstrap ,这是罚款几乎所有的网页。但我需要一个网页有width: 100%
。
我想使用的视图是一个局部视图,所以它将在.container
(见下面的代码)以及其他局部视图中呈现。
<div class="container">
@RenderBody()
<hr />
<footer>
<p>© @DateTime.Now.Year - My ASP.NET Application</p>
</footer>
</div>
所有的都可以流畅,但是我需要这个是100%的宽度。什么是优雅的方法呢?
4条答案
按热度按时间kh212irz1#
在局部视图中,可以使用jQuery修改容器div的CSS,这将在呈现视图时更改宽度,但对其他页面没有影响。
编辑:正如OP指出的,Bootstrap的JS会在窗口大小调整时重置宽度。所以我们必须做同样的事情:
看看这里的小提琴:http://jsfiddle.net/GqRd7/
lymnna712#
我也遇到过类似的问题,布局中使用了容器,对大多数页面都很好,但我想在容器中使用一个奇怪的全宽元素。
从Bootstrap 3开始,你可以使用
.container-fluid
类来获得100%的宽度内容。然而,在.container
中使用这个类没有任何作用,因为它受到.container
宽度的限制。下面是我遇到的一些选项/解决方法:使用节
如果100%宽度的内容总是用在容器内容的开头或结尾,则可以在布局页面中定义节,并在其中插入100%宽度元素。
在您的例子中,如果在一个页面上没有其他内容,您可以将整个页面放在该部分中。
使用另一个布局页面
如果是一个需要全宽的页面,你可以让它使用不同的布局,使用partials作为公共代码,并将
.container
元素改为.container-fluid
。手动关闭容器,稍后重新打开
我不推荐这个,因为它很笨拙,而且会显示错误,但是它可以编译并工作。如果你在内容中间的某个地方有一个元素,不管出于什么原因,你想用全角的话,这个可以用。
yqkkidmi3#
我设法解决了这个问题,把渲染内容的位置设置为
absolute
和left: 0
,但是<footer>
隐藏在它后面,所以我必须单独处理这个问题(或者完全删除它)。nbnkbykc4#
您可以使用剃刀代码在_Layout.cshtml文件中更改页面的样式。
将“Page1”替换为您的真实的页面标题。