首页 > 解决方案 > ASP.Net MVC 共享布局中的一些 CSS 和 JS 不应该在内容页面中使用

问题描述

我是 asp.net MVC 的新手。我有一些使用相同共享布局页面的视图。现在我得到了一个新的共享布局页面,它具有特定的设计,因此具有关联的新 css 和 js 文件。

我了解内容页面只是在共享布局页面的@RenderBody 部分中注入它们的标记。但是我们仍然有什么方法可以确保某些 css 和 js 不会影响子页面的标记。

标签: cssasp.netasp.net-mvc

解决方案


听起来您的意思是您的 CSS 是针对您的布局页面的,这也(不希望地)影响您的视图?

正如您所说的那样,@RenderBody 只是将您视图中的内容插入到布局页面中,并且生成的是一个完整的文档。任何 CSS 或 JavaScript 都会影响整个页面。但是,您可以控制它影响哪些元素,我认为这是您的问题。

您只需要在 CSS 中使用更具体的选择器。例如,如果您的母版页中有一个 div,您希望在该 div 上添加边框:

div { border: 1px solid black; }
<div></div>

会很糟糕,因为它会影响页面上的每个 div。尝试创建类并将它们应用于您的元素,例如:

.div-black-border { border: 1px solid black; }
<div class="div-black-border"></div>

相同的逻辑可以应用于您的 javascript 选择器(假设这是问题所在)。


推荐阅读