我很喜欢CSS和HTML,所以请耐心等待这个问题。使用CSS命名空间
我正在整合一个web应用程序与我们现有的应用程序。他们定义了一些与我们的应用程序冲突的css规则。
我的问题是:有没有什么好的办法来分离出每个应用程序页面使用的CSS规则? 我试图看看CSS命名空间,似乎很多重做,因为我必须在每个标签元素前加上命名空间。
更新: 我正在尝试将基于Meteor的应用程序整合到另一个基于Meteor的应用程序中,现在我不想要2 CSS混合。
我很喜欢CSS和HTML,所以请耐心等待这个问题。使用CSS命名空间
我正在整合一个web应用程序与我们现有的应用程序。他们定义了一些与我们的应用程序冲突的css规则。
我的问题是:有没有什么好的办法来分离出每个应用程序页面使用的CSS规则? 我试图看看CSS命名空间,似乎很多重做,因为我必须在每个标签元素前加上命名空间。
更新: 我正在尝试将基于Meteor的应用程序整合到另一个基于Meteor的应用程序中,现在我不想要2 CSS混合。
我结束了以下解决方案,摸索出适合我。
对于我正在整合的另一个应用程序,我将它的整个身体放入一个容器中,并给它一个类。
在另一个应用程序的布局,
<!-- Another application body layout-->
<body>
<div class="another-app-container">
<!-- Here goes whole layout of page -->
<p class='someClass' > ....
<div class='myClass'> </div>
</p>
</div>
</body
在该应用程序的CSS,我应用下面的CSS规则,CSS的
.another-app-container * .someclass{
// CSS rule goes here
}
.another-app-container * .myClass {
// CSS rule goes here
}
美容我来到这里是 '*' 的应用CSS规则甚至包含很多CSS元素的嵌套。
因此,它将CSS自己从另一个应用程序中分离出来
使用*在这里没有必要。 “.another-app-container .someclass”与“.another-app-container * .someclass”基本上完成了相同的事情,并且更清晰并且更少混淆。也许你应该阅读http://css-tricks.com/almanac/selectors/d/descendant/ – jbyrd
CSS命名空间是唯一不错的选择。您可以使用崇高文本的多重功能非常轻松地编辑所有规则。
将一个类应用于每个页面/模块/应用程序的主体。 通过这种方式,您当前的CSS仍然可以工作,并且您可以通过预先将新的CSS与主体类预占来覆盖。
根据应用程序的大小,非常肮脏,快速的解决方案是追加,你需要单独的文件(并适当地应用)的规则
例如
为main.html中,您拥有的main.css
about.html,有about.css
然而,这是非常不好的做法,因为你的所有请求分离为基本相同的信息...
你可以做的是在你的开发环境中使用CSS预处理语言,如SASS,SCSS或LESS,你可以将许多特定页面抽象成模块化文件,比如main.sass,about,sass等等......这将被编译成一个main.css文件。
要考虑的另一件事是,CSS是类,ID和伪选择器如何影响可应用规则的特异性。
即
!important > #id > .class > html_element
这里是关于CSS特异性的伟大的介绍文章为你〜 http://coding.smashingmagazine.com/2007/07/27/css-specificity-things-you-should-know/
并置文件不需要使用SASS,SCSS,LESS等。 –
不确定你在问什么。你必须链接你的CSS文件到你的HTML文件。你总是可以将你的css分成多个文件,并且只能链接相应的html和css文件。你在谈论一些类似AngularJS这样的内部路由器的框架吗? –
我正在用铁路由器使用流星框架。 – ajduke
Downvoter !! ,请注意解释 – ajduke