为什么添加@ Scripts.Render(“”)会改变我的html布局?

时间:2013-07-11 08:32:54

标签: css asp.net-mvc-4 twitter-bootstrap razor

今天进入这个“有趣”的问题。我有一个asp.net mvc应用程序,带有一个twitter bootstrap设计模板,到目前为止一直运行良好。但是,当我在视图的顶部添加一些@ Scripts.Render(“...”)语句(不共享布局文件,但是查看)时,它似乎改变了我的布局!

查看:

@Scripts.Render("~/Scripts/jquery.signalR-1.1.2.js")
@Scripts.Render("~/signalr/hubs")
@Scripts.Render("~/Scripts/Stimline/connector.js")

<div class="span12"> 
    <legend>Fleet List</legend>
    <div class="row-fluid">
       ...
    </div>
</div>

每当顶部的三个脚本语句添加到我的.cshtml文件中时,它似乎将整个div-part移动到右侧,以便它与浏览器的边缘对齐。再次删除语句会导致它恢复正常,默认情况下从bootstrap中添加应该保留的边距。

我没有对bootstrap css进行任何更改。

有人看过这个,或者至少有类似的东西吗?

以下是@ Render.Scripts语句的外观: enter image description here

这里没有它: enter image description here

如果使用固定标题栏作为右边缘的参考,您将看到表格在一个图像中一直向右对齐,并且与另一个图像中的边缘正确“间隔”。

1 个答案:

答案 0 :(得分:1)

我最近碰到了一个类似的问题,我在那里浮动li元素作为菜单。我在html中有自己的每一个元素,所以每个项目之间都有一个空格。

<ul>
    <li style="float:left">Item 1</li>
    <li style="float:left">Item 2</li>
    <li style="float:left">Item 3</li>
</ul>

更改为

<ul>
    <li style="float:left">Item 1</li><li style="float:left">Item 2</li><li style="float:left">Item 3</li>
</ul>

在您的情况下,将脚本移动到页面底部最好遵循其他最佳做法,但您也可以删除空白以获得相同的结果。