inheritance/覆盖来自不同外部文件的现有CSS规则
我有一个现有的项目,曾经没有Bootstrap(3),但现在我必须改变它并保留旧的CSS。
我目前的CSS订单:
var bundleCSS = new StyleBundle("~/Views/bundle/newBundle").Include( "~/Views/Shared/normalize.css", "~/Scripts/jquery.ui/jquery-ui-latest.custom.css", "~/Scripts/jquery.jqGrid/ui.jqgrid.css", "~/Scripts/sweetalert/sweet-alert.css", "~/Content/bootstrap.css", "~/Views/Shared/OldButNeededLayout.css", "~/Content/custom.css"); //will be rendered in that order
custom.css
用于修复将bootstrap.css
添加到项目中的所有错误。
这里的问题是, OldButNeededLayout.css
有OldButNeededLayout.css
3000行的css-code,顺便提一下当前的项目非常大。
因此,当用旧css覆盖引导程序而不是通过添加引导程序来修复错误时,我得到的结果不可预测。(因为我不知道它会改变什么)
怎么做或如何解决将bootstrap css / js集成到(我的)现有项目中的问题?
这听起来像是一种混乱Bootstrap的混乱方式,同时试图避免对OldButNeededLayout
文件进行任何更改……
根据我的经验,将Bootstrap集成到现有项目中是一项艰巨的任务,需要对HTML进行大量修改(添加类和修改标记结构)以及对现有CSS进行大量修改,以使其与Bootstrap一起使用。
您的方法将使维护变得困难,并且还会向客户端提供大量不必要的CSS代码。
我会建议:
-
从项目中删除
OldButNeededLayout
css并清除custom
的内容,以便绝大多数css来自Bootstrap。 -
显然,这看起来不像你的网站应该如此
-
在您的
custom
CSS中有条不紊地修复需要更改的每个布局或样式,直到您有一个类似于您的Bootstrap前站点的站点。 使用必需的OldButNeededLayout
中的位,但要确保每个样式属性都是必需的。
当然,这是很多工作,但它将导致一个对客户来说更易于维护,可预测和简洁的项目。
我不认为你可以将Bootstrap放到一个大型项目上并且不希望对现有的HTML和CSS做出重大改变是合理的期望。
以下建议并不理想,肯定有更好的方法来实现您的需求,但我的建议符合您的要求……
在新的custom.css文件中,您可以在声明元素时尝试更具体。 因此,如果在OldButNeededLayout.css中你覆盖了Bootstrap的样式,例如:
.divclass .jumbotron h1 { color: red; }
您可以在custom.css文件中声明更高级别的特异性,以确保它将覆盖您在OldButNeededLayout.css中的内容:
.parent .divclass .jumbotron h1 { color: blue; }
- 尝试使用jQuery ajax和MVC显示JSONResult时出现内部服务器错误#500
- 远程归属validation不在Asp.Net MVC中触发
- 使用AJAX加载部分视图不起作用
- 当通过jQuery设置值时,访问c#中Page load上的Label值
- 如何使用Jquery Datatables Ellipsis渲染器进行模板字段链接按钮?
- 如何在变量中插入动态多行文本框生成的值
- 如何使用C#,ASP.NET,SQL Server端处理实现jQuery DataTables插件?
- 使用jquery加密用户密码并使用C#解密
- Selenium – 将“WebElement”转换为Javascript或JQuery对象的通用方法