css - 范围或隔离 Bootstrap 样式仅在特定类或 id 下?

标签 css twitter-bootstrap reactjs webpack

我正在制作一个 chrome 扩展程序,它将在用户内容页面内覆盖一个 React 应用程序。我喜欢在应用程序的根 div 内使用 Bootstrap css,但 Bootstrap 样式会影响整个页面。

有什么方法可以将 Bootstrap (除了自己编辑源代码)的范围限定到特定的子元素吗?

最佳答案

我 future 的自己的另一个答案。我能够通过

在 React 应用程序中实现这一点

yarn 安装 Bootstrap

这使得 scss 文件在节点模块目录中可用。

然后不导入 bootstrap/scss/bootstrap 文件,它看起来像这样:

/*!
 * Bootstrap v4.5.0 (https://getbootstrap.com/)
 * Copyright 2011-2020 The Bootstrap Authors
 * Copyright 2011-2020 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */

@import "functions";
@import "variables";
@import "mixins";
@import "root";
@import "reboot";
@import "type";
@import "images";
@import "code";
@import "grid";
@import "tables";
@import "forms";
@import "buttons";
@import "transitions";
@import "dropdown";
@import "button-group";
@import "input-group";
@import "custom-forms";
@import "nav";
@import "navbar";
@import "card";
@import "breadcrumb";
@import "pagination";
@import "badge";
@import "jumbotron";
@import "alert";
@import "progress";
@import "media";
@import "list-group";
@import "close";
@import "toasts";
@import "modal";
@import "tooltip";
@import "popover";
@import "carousel";
@import "spinners";
@import "utilities";
@import "print";

我制作了自己的文件 my_bootstrap.scss 并导入了它。该文件将所有其他导入范围限定为一个类 .has-bootstrap

.has-bootstrap {
  @import "bootstrap/scss/_functions";
  @import "bootstrap/scss/_variables";
  @import "bootstrap/scss/_mixins";
  @import "bootstrap/scss/_root";
  @import "bootstrap/scss/_reboot";
  @import "bootstrap/scss/_type";
  @import "bootstrap/scss/_images";
  @import "bootstrap/scss/_code";
  @import "bootstrap/scss/_grid";
  @import "bootstrap/scss/_tables";
  @import "bootstrap/scss/_forms";
  @import "bootstrap/scss/_buttons";
  @import "bootstrap/scss/_transitions";
  @import "bootstrap/scss/_dropdown";
  @import "bootstrap/scss/_button-group";
  @import "bootstrap/scss/_input-group";
  @import "bootstrap/scss/_custom-forms";
  @import "bootstrap/scss/_nav";
  @import "bootstrap/scss/_navbar";
  @import "bootstrap/scss/_card";
  @import "bootstrap/scss/_breadcrumb";
  @import "bootstrap/scss/_pagination";
  @import "bootstrap/scss/_badge";
  @import "bootstrap/scss/_jumbotron";
  @import "bootstrap/scss/_alert";
  @import "bootstrap/scss/_progress";
  @import "bootstrap/scss/_media";
  @import "bootstrap/scss/_list-group";
  @import "bootstrap/scss/_close";
  @import "bootstrap/scss/_toasts";
  @import "bootstrap/scss/_modal";
  @import "bootstrap/scss/_tooltip";
  @import "bootstrap/scss/_popover";
  @import "bootstrap/scss/_carousel";
  @import "bootstrap/scss/_spinners";
  @import "bootstrap/scss/_utilities";
}

关于css - 范围或隔离 Bootstrap 样式仅在特定类或 id 下?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46231542/

相关文章:

javascript - 在 Bootstrap 弹出窗口内执行 JS

jquery - 日期选择器的麻烦

javascript - Disqus 的 count.js 脚本在带有 react.js 网站的 index.html 中无法正常运行

css - SharePoint Foundation 2013 - 链接网站集中的 CSS 文件

css - 如何在一行中显示div元素

javascript - 使用 javascript 旋转文本 - 在 IE8 中不起作用

html - 可点击元素内的 CSS3 开关

javascript - 从 React fetch 调用组件方法

reactjs - 使用 TypeScript 在 useState React Hook 上设置类型

javascript - W3 中的可悬停下拉菜单示例