Sma*_*ajl 3 css sass reactjs bootstrap-4
可能是一个新手问题(以REACT开头),但是我无法在新启动的react应用程序中更改主题颜色。
我读了一些答案,但不幸的是,它们对我没有用。
我有以下入口点:
import React from 'react';
import ReactDOM from 'react-dom';
import { App } from './components/App';
import 'bootstrap/dist/css/bootstrap.min.css';
import 'bootstrap';
import './styles/app.scss';
ReactDOM.render(<App />, document.getElementById('app'));
Run Code Online (Sandbox Code Playgroud)
我在中有app.scss样式表src/styles:
@import '_settings.scss';
@import '_base.scss';
@import './components/_header.scss';
Run Code Online (Sandbox Code Playgroud)
我尝试在此处更改主题颜色,但似乎无济于事:
@import "node_modules/bootstrap/scss/bootstrap";
$theme-colors: (
"primary": #991196,
"danger": #ff4136
);
Run Code Online (Sandbox Code Playgroud)
有人可以向我指出这是如何工作的,因为我遇到的所有答案和惯例似乎都在使用不同的方法。
我正在使用以下版本的Bootstrap:
"bootstrap": "^4.0.0"
Run Code Online (Sandbox Code Playgroud)
您可以进行覆盖并完全在app.scss文件中导入 Bootstrap 。重要的是在主题颜色更改后导入 Bootstrap以覆盖 bootstrap _variables.scss 中定义的 !default 主题颜色。
@import '_settings.scss';
@import '_base.scss';
@import './components/_header.scss';
/* import only the Bootstrap files needed for customizations */
@import "node_modules/bootstrap/scss/functions";
@import "node_modules/bootstrap/scss/variables";
/* make the customizations */
$theme-colors: (
"primary": #991196,
"danger": #ff4136
);
/* import bootstrap to set changes */
@import "node_modules/bootstrap/scss";
Run Code Online (Sandbox Code Playgroud)
当构建 React 应用程序并编译 SASS 时,生成的 CSS 将包含您的自定义和 Bootstrap,因此您无需在 react 中单独导入引导程序。
演示:https : //www.codeply.com/go/Tho2TEwoI1
首先参考这个,Bootstrap Webpack
这是在reactjs项目中使用引导程序的一种方法。
您正在通过此操作导入Bootstrap CSS的编译版本
import 'bootstrap/dist/css/bootstrap.min.css'; //Dont do this
Run Code Online (Sandbox Code Playgroud)
相反,您应该这样做
在您的app.scss文件中,
首先定义你的颜色
$primary: #13C7CD;
$danger: #red;
Run Code Online (Sandbox Code Playgroud)
然后
导入引导的scss版本
@import '~bootstrap/scss/bootstrap';
Run Code Online (Sandbox Code Playgroud)
~ 意味着webpack将在其中搜索 node_modules
在此之后,将app.scss文件导入到您的主js文件中(可以是index.js或app.js)
import './styles/app.scss';
Run Code Online (Sandbox Code Playgroud)
如何运作
在导入引导scss之前定义颜色变量时,生成的符合标准的css将具有您的颜色值
| 归档时间: |
|
| 查看次数: |
3152 次 |
| 最近记录: |