You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Bootstrap HTML文件配置靛蓝主题?设置$primary后无效果

问题原因及解决方法

你的代码没生效有两个核心原因:

  • 浏览器无法直接解析原生Sass语法($变量和@import),普通<style>标签仅支持CSS。
  • 你同时引入了CDN上编译好的Bootstrap CSS文件,它的样式优先级会覆盖自定义变量的效果。

要改成靛蓝主题,按以下步骤修改:

步骤1:移除CDN的Bootstrap CSS链接

删掉头部的预编译Bootstrap样式链接:

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.0.0/dist/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">

步骤2:引入Sass编译器和Bootstrap Sass源文件

浏览器需要借助第三方工具解析Sass,引入CDN的Sass编译器,并直接导入Bootstrap的Sass源文件:

<script src="https://cdn.jsdelivr.net/npm/sass.js@0.11.1/dist/sass.min.js"></script>

步骤3:设置靛蓝主题变量

Bootstrap 4的靛蓝对应颜色值为#6610f2,将$primary变量设为该值,替换原有的$primary: rebeccapurple;:

$primary: #6610f2; // Bootstrap 4官方靛蓝主题色
$danger: #dd0000;
$success: lime;
$warning: orange;
$info: aqua;
$body-bg: #f3f3f0;

@import "https://cdn.jsdelivr.net/npm/bootstrap@4.0.0/scss/bootstrap.scss";

步骤4:调整样式标签类型

将普通<style>标签改为<style type="text/scss">,让编译器识别这是Sass代码。

修改后的完整代码

<!doctype html>
<html lang="en">
<head>
<script src="https://cdn.jsdelivr.net/npm/sass.js@0.11.1/dist/sass.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<style type="text/scss">
$primary: #6610f2; // Bootstrap 4靛蓝主题色
$danger: #dd0000;
$success: lime;
$warning: orange;
$info: aqua;

$body-bg: #f3f3f0;

@import "https://cdn.jsdelivr.net/npm/bootstrap@4.0.0/scss/bootstrap.scss";
</style>
</head>
<body>
    <div class="input-group input-group-sm ">
      <input type="text" class="form-control" aria-label="Text input with segmented dropdown button">
      <div class="input-group-append input-group-sm">
        <button type="button" class="btn btn-outline-primary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
        </button>
        <div class="dropdown-menu">
<input type="text" placeholder="Search.." id="myInput" class="search">
          <a class="dropdown-item" data-value="{{Action}}" href="#">Action</a>
          <a class="dropdown-item" data-value="{{Another action}}" href="#">Another action</a>
          <a class="dropdown-item" data-value="{{Something else here}}" href="#">Something else here</a>
          <div role="separator" class="dropdown-divider"></div>
          <a class="dropdown-item" data-value="{{Separated lin}}" href="#">Separated link</a>                                    
        </div>
      </div>
    </div>
    
    
    <div class="input-group input-group-sm ">
      <input type="text" class="form-control" aria-label="Text input with segmented dropdown button">
      <div class="input-group-append input-group-sm">
        <button type="button" class="btn btn-outline-primary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
        </button>
        <div class="dropdown-menu">
<input type="text" placeholder="Search.."  class="search">
          <a class="dropdown-item" data-value="{{Action}}" href="#">Action</a>
          <a class="dropdown-item" data-value="{{Another action}}" href="#">Another action</a>
          <a class="dropdown-item" data-value="{{Something else here}}" href="#">Something else here</a>
          <div role="separator" class="dropdown-divider"></div>
          <a class="dropdown-item" data-value="{{Separated lin}}" href="#">Separated link</a>                                    
        </div>
      </div>
    </div>        
    
    <div class="input-group input-group-sm ">
      <input type="text" class="form-control" aria-label="Text input with segmented dropdown button">
      <div class="input-group-append input-group-sm">
        <button type="button" class="btn btn-outline-primary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
        </button>
        <div class="dropdown-menu">
<input type="text" placeholder="Search.."  class="search">
          <a class="dropdown-item" data-value="{{Action}}" href="#">Action</a>
          <a class="dropdown-item" data-value="{{Another action}}" href="#">Another action</a>
          <a class="dropdown-item" data-value="{{Something else here}}" href="#">Something else here</a>
          <div role="separator" class="dropdown-divider"></div>
          <a class="dropdown-item" data-value="{{Separated lin}}" href="#">Separated link</a>                                    
        </div>
      </div>
    </div>        
            
    
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.12.9/dist/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.0.0/dist/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>



<script>
$(function(){

  $('.dropdown-item').click(function(e){
var value = $(this).data('value');
var textElement = $(this).parent().parent().prev()
textElement = textElement.val(textElement.val() + value);
event.preventDefault();
event.stopPropagation();
textElement.focus()
  });
  
});


$(".search").keyup(function(){
  var input, filter, ul, li, a, i;
  input = $(this).get(0);
  filter = input.value.toUpperCase();
  div = $(this).parent().get(0);

  a = div.getElementsByTagName("a");
  for (i = 0; i < a.length; i++) {
txtValue = a[i].textContent || a[i].innerText;
if (txtValue.toUpperCase().indexOf(filter) > -1) {
  a[i].style.display = "";
} else {
  a[i].style.display = "none";
}
  }
});

(function() {
var disable = false;
$('.dropdown-toggle').on('mousedown touchstart', function() {
        disable = true;
        console.log("inside1")
    })
    .on('focus', function() {
        if (!disable) {
            $(this).dropdown('toggle');            console.log("inside2")
        }
    })
    .on('mouseup touchend',function() {
        disable = false;console.log("inside3")
    })
})()

</script>
</body>
</html>

注:我把按钮的btn-outline-secondary改成了btn-outline-primary,可以直接看到靛蓝主题的效果,你可根据需求调整其他组件的类名。

内容的提问来源于stack exchange,提问作者Code Guy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 15:45:47