不可能直接使用那些分发的 CSS 文件来实现,但您可以为每个 CSS 框架库(或 CSS 文件)创建命名空间,并在任何您想使用该框架功能的地方使用它。
请参阅How to namespace Twitter Bootstrap so styles don't conflict 和Is there any ready to use Bootstrap css file with prefix,了解有关如何命名样式表的更多详细信息。
如果您使用的是less,那么您可以通过向引导程序添加前缀来创建命名空间,如下所示:
.bootstrap-styles {
@import 'bootstrap';
}
/* OR */
.bootstrap-styles {
@import (less) url("bootstrap.css");
}
您可以使用http://www.css-prefix.com/ 为任何 CSS 文件添加前缀,然后像这样使用它:
<header class="bootstrap-ns-prefix> (some bootstrap code inside) </header>
<main class="style2-ns-prefix"> (some other framework/css styles that don't get affected by bootstrap) </main>
编辑
它不会自动工作,您必须为每个 CSS 命名,然后使用这些 CSS 文件而不是首字母。生成器www.css-prefix.com 对我有用,但它在开始/结束和每个评论之前/之后添加了一些额外的类/命名空间;在继续之前,您应该检查并更正/删除任何错误。正如我上面提到的,您可以使用 LESS 或 SASS 框架来生成这些命名空间。
下面是同时使用 Bootstrap 和 jQuery UI 的示例:
<head>
...
<link rel="stylesheet" href="css/bootstrap_ns.css">
<link rel="stylesheet" href="css/jqueryui_ns.css">
...
</head>
<body>
<button class="btn btn-primary">Test Button</button>
<div class="bootstrap-ns">
<button class="btn btn-primary">Bootstrap Button</button>
</div>
<div class="jqui-ns">
<button id="jqbtn" class="btn btn-primary">jQuery UI Button</button>
</div>
<script type="text/javascript">
jQuery(function($) {
$('#jqbtn').button();
});
</script>
</body>
结果是这个:
如您所见,所有三个按钮都有引导按钮类btn btn-primary,但只有bootstrap-ns 容器内的按钮使用引导样式。
在这里你可以看到一个演示页面:http://zikro.gr/dbg/html/bootstrap-ns/
这里可以查看www.css-prefix.com生成的bootstrap.css和jquery.ui.css并手动清理。