简体   繁体   English

在 React 中覆盖 Bootstrap 类

[英]Overriding Bootstrap classes in React

So this is my folder structure:所以这是我的文件夹结构: 文件夹结构

I want to override navbar class in bootstrap/navbar.scss and apply the changes to react bootstrap component imported in Navbar.js.我想覆盖 bootstrap/navbar.scss 中的导航栏 class 并将更改应用于在 Navbar.js 中导入的引导组件。 I imported bootstrap in _costum.scss like its prescribed in react-bootstrap docs.我在 _costum.scss 中导入了引导程序,就像它在 react-bootstrap 文档中规定的那样。

 @import '~bootstrap/scss/bootstrap';
.navbar {
  position: relative;
  display: flex;
  flex-wrap: wrap; // allow us to do the line break for collapsing content
  align-items: center;
  justify-content: space-between; // space out brand from logo
  padding-top: $navbar-padding-y;
  padding-right: $navbar-padding-x; // default: null
  padding-bottom: $navbar-padding-y;
  padding-left: $navbar-padding-x; // default: null
  @include gradient-bg();

  $navbar-padding-y: 3rem;
}

And here is my navbar.scss: @use 'costum';这是我的 navbar.scss: @use 'costum'; And here is the Navbar.js code:这是 Navbar.js 代码:

import { Nav, Navbar, Container } from 'react-bootstrap';
import { BsSearch } from 'react-icons/bs';
import './navbar.scss';

const MainNav = () => {
  return <Fragment>
    <Navbar expand="lg">
  <Container>
    <Navbar.Toggle aria-controls="basic-navbar-nav" />
    <Navbar.Collapse id="basic-navbar-nav">
      <Nav className="mx-auto " >
        <Nav.Link href="/">HOME</Nav.Link>
        <Nav.Link href="/fahrzeugangebote/">FAHRZEUGANGEBOTE</Nav.Link>
        <Nav.Link href="/finanzierung/">FINANZIRUNG</Nav.Link>
        <Nav.Link href="/fahrzeugankauf/">FAHRZEUGANKAUF</Nav.Link>
        <Nav.Link href="/galerie/">GALERIE</Nav.Link>
        <Nav.Link href="/kontakt/">KONTAKT</Nav.Link>
        <Nav.Link>< BsSearch/></Nav.Link>
      </Nav>
    </Navbar.Collapse>
  </Container>
</Navbar>
  </Fragment>;
};

export default MainNav;```


But padding-top didnt change at all. Can someone help me?



why don't you just create a file in home directory like for my example i used index.scss为什么不直接在主目录中创建一个文件,例如我使用的 index.scss

and import the bootstrap library from the node modules in the index.css并从 index.css 中的节点模块导入引导库

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

and put your changes before the @import并将您的更改放在@import之前

see this example看这个例子

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM