一尘不染

按钮单击后引导原色覆盖不起作用

javascript

我正在尝试使用 scss 覆盖引导程序 5 的原色。在我单击打开外部链接的按钮之前,这可以正常工作。

这是我的scss文件:

$primary: #ae217aff;

@import "../node_modules/bootstrap/scss/bootstrap.scss";

这是我在 index.html 中的样式表导入:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <meta
      name="viewport"
      content="width=device-width, initial-scale=1, shrink-to-fit=no"
    />
    <link
      href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0-beta1/dist/css/bootstrap.min.css"
      rel="stylesheet"
      integrity="sha384-0evHe/X+R7YkIZDRvuzKMRqM+OrBnVFBL6DOitfPri4tjfHxaWutUpFmBp4vmVor"
      crossorigin="anonymous"
    />
    <link rel="stylesheet" href="./html/index.css" />
    <link rel="stylesheet" href="./html/animations.css" />
    <title>title</title>
    <script defer src="../render.js"></script>
  </head>
  <body>
    <form>
      <div class="input-group">
        <input
          type="url"
          class="form-control"
          placeholder=""
          required
        />
        <div class="input-group-append">
          <button
            class="btn btn-outline-primary"
            type="button"
            id="testBtn"
          >
            Get Spreadsheet Template
          </button>
        </div>
      </div>
     </form>

    <script src="../render.js"></script>
    <script
      src="https://code.jquery.com/jquery-3.4.1.slim.min.js"
      integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n"
      crossorigin="anonymous"
    ></script>
    <script
      src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"
      integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo"
      crossorigin="anonymous"
    ></script>
    <script
      src="https://cdn.jsdelivr.net/npm/bootstrap@4.4.1/dist/js/bootstrap.min.js"
      integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6"
      crossorigin="anonymous"
    ></script>
  </body>
</html>

这是打开链接的javascript:

templateBtn = document.getElementById("testBtn");
templateBtn.addEventListener("click", (event) => {
  event.stopImmediatePropagation();
  window.open(
    "",
    "_blank"
  );

我的 index.css 文件是运行命令“sass index.scss index.css”(也就是编译成 css 文件)的结果。这是按钮单击之前/之后的照片:

点击前的按钮点击后的按钮


阅读 91

收藏
2022-07-26

共1个答案

一尘不染

您应该摆脱 cdn 版本,而只使用一个 scss 编译版本的引导程序。通过更改引导程序的变量并在您的类中使用它们的变量来利用它们。

从他们的文档中,我也使用这种方法:

// my-bootstrap-and-styles.scss

// your overrides
$primary : #FEBC35;

// include bootstrap.scss
@import "../node_modules/bootstrap/scss/bootstrap";   

// Then add your additional custom code here
.my-primary-div {
  background: $primary;
  border: 1px solid black;
}
2022-07-26